Aperçu des fonctionnalités

Aperçu des fonctionnalités

Aspose.Cells FOSS for Go’s API se concentre sur Workbook, Worksheet, Cells et Cell. Ce guide explore les autres capacités de la bibliothèque : le style, la validation des données, les tableaux, les images et la lecture en flux pour les gros fichiers.


Style de cellule

Regroupez les paramètres Font, Fill, Alignment et Border dans un Style réutilisable, puis appliquez-le à une cellule avec Cell.SetStyle :

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
boldStyle.Font.Size = 12

highlightStyle := cells_foss.NewStyle()
highlightStyle.Font.Color = "FFFFFFFF"
highlightStyle.Font.Bold = true
highlightStyle.Fill = &cells_foss.Fill{
	Type:  cells_foss.FillTypeSolid,
	Color: "FF4472C4",
}

cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)

Alignment contrôle Horizontal, Vertical et WrapText; Border contrôle la visibilité des règles Top, Bottom, Left et Right ainsi que Color.


Validation des données

Worksheet.AddDataValidation attache une règle de validation à une plage de cellules. La structure DataValidation transporte la règle Type, une ou deux valeurs Formula, ainsi que les champs de message d’erreur:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

dv := &cells_foss.DataValidation{
	Type:             cells_foss.DataValidationTypeList,
	Formula1:         `"Apple,Banana,Cherry,Dragonfruit"`,
	AllowBlank:       true,
	ShowErrorMessage: true,
	ErrorTitle:       "Invalid Fruit",
	ErrorMessage:     "Please pick a fruit from the list.",
	ErrorStyle:       cells_foss.ErrorStyleStop,
}
ws.AddDataValidation("A2:A10", dv)

Une validation de plage d’entiers utilise DataValidationTypeWhole avec Formula1/Formula2 comme limites inférieure et supérieure.


Tableaux

Worksheet.AddTable crée un Table structuré sur une plage, avec une ligne d’en-tête facultative et un style de tableau nommé:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

tbl := ws.AddTable("A1:F6")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"

Récupérez un tableau existant par son nom avec Worksheet.GetTable(name).


Images

Worksheet.AddPicture intègre une image; Picture.SetAnchor(row, col) la positionne:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
imageBytes := []byte{} // populate with real image bytes before use

pic := &cells_foss.Picture{Data: imageBytes, Format: "png"}
ws.AddPicture(pic)
pic.SetAnchor(5, 0)

Diffusion en continu de gros fichiers

StreamingReader lit une feuille de calcul ligne par ligne via un rappel, de sorte qu’un classeur de plusieurs milliers de lignes n’a jamais besoin d’être entièrement chargé en mémoire:

path := "outputfiles/large_workbook.xlsx"
sr := cells_foss.NewStreamingReader(path)
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
	// process one row at a time
	return nil
})
if err != nil {
	fmt.Printf("Error streaming: %v\n", err)
}

Conseils et meilleures pratiques

  • Utilisez StreamingReader au lieu d’un chargement complet Workbook lorsqu’un fichier peut contenir des milliers de lignes et que vous avez seulement besoin de le lire, pas de le modifier.
  • Créez un Style une fois et réutilisez-le sur de nombreuses cellules plutôt que d’en créer un nouveau pour chaque cellule.
  • Cell.SetFormula stocke une chaîne de formule telle quelle — elle est évaluée par Excel ou LibreOffice à l’ouverture, pas par la bibliothèque au moment de l’enregistrement.
  • Vérifiez la valeur de retour error de Save, AddDataValidation et des appels d’import/export CSV — les I/O de feuilles de calcul peuvent échouer en cas de chemins invalides ou d’entrées malformées.

Problèmes courants

IssueCauseCorrection
Valeur de cellule non visible après SetRéférence à la mauvaise feuille ou référence de cellule hors limitesConfirmez l’index Worksheet et que la référence de style A1 correspond à la cellule prévue
La formule s’affiche en texte brut au lieu d’être calculéeLa bibliothèque ne fait que stocker la chaîne de formule ; elle n’évalue pas les formulesOuvrez le fichier dans Excel ou LibreOffice, qui effectuent le calcul à l’ouverture
Validation des données non visible dans ExcelLa validation a été ajoutée à une plage qui n’inclut pas la cellule cibleConfirmez que la chaîne de plage (p. ex. "A2:A10") couvre les cellules que vous souhaitez valider

FAQ

La bibliothèque évalue-t-elle les formules elle-même?

No. Cell.SetFormula/GetFormula stockent une chaîne de formule qu’Excel ou LibreOffice évalue lorsque le fichier est ouvert.

Puis-je stream-write de grands classeurs, et pas seulement les stream-read ?

StreamingReader couvre les lectures en streaming. L’écriture de grands classeurs passe actuellement par le standard en mémoire Workbook/Worksheet API.

Est-ce que AddTable applique automatiquement un auto-filter ?

Cela n’est pas confirmé dans la surface actuelle de API — seuls HasHeaderRow et StyleName sont documentés comme champs Table. Vérifiez le fichier .xlsx généré si cela importe pour votre cas d’utilisation.


API Reference Résumé

Classe / MéthodeDescription
Workbook.NewWorkbook / SaveCréer et enregistrer un classeur
Worksheet.CellsAccéder à la collection de cellules d’une feuille de calcul
Cells.Get / Set / Remove / AllLire, écrire, supprimer et énumérer les cellules
Cell.SetStyle / SetFormula / GetFormulaAppliquer la mise en forme et les formules à une cellule
Style, Font, Fill, Alignment, BorderComposer une mise en forme de cellule réutilisable
Worksheet.AddDataValidationAttacher une règle de validation à une plage de cellules
Worksheet.AddTable / GetTableCréer et récupérer des plages de tableau structurées
Worksheet.AddPicture / Picture.SetAnchor(row, col)Intégrer et positionner des images
StreamingReader.ProcessRowsDiffuser une feuille de calcul ligne par ligne
Workbook.ExportToCSV / ImportFromCSVConvertir entre XLSX et CSV
Workbook.SetPassword / VerifyPasswordProtéger et vérifier le mot de passe d’un classeur

Voir aussi

 Français