Functieoverzicht

Functieoverzicht

Aspose.Cells FOSS voor Go’s API richt zich op Workbook, Worksheet, Cells en Cell. Deze gids loopt door de andere mogelijkheden van de bibliotheek: styling, gegevensvalidatie, tabellen, afbeeldingen en streaming-lezingen voor grote bestanden.


Celopmaak

Groep Font, Fill, Alignment en Border instellingen in een herbruikbare Style, en pas deze vervolgens toe op een cel met 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 regelt Horizontal, Vertical en WrapText; Border regelt de Top, Bottom, Left en Right regelzichtbaarheid plus Color.


Gegevensvalidatie

Worksheet.AddDataValidation voegt een validatieregel toe aan een celbereik. De DataValidation struct bevat de regel Type, één of twee Formula waarden, en fout-berichtvelden:

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)

Een geheel-getalbereikvalidatie gebruikt DataValidationTypeWhole met Formula1/Formula2 als respectievelijk de onder- en bovengrens.


Tabellen

Worksheet.AddTable maakt een gestructureerde Table over een bereik, met een optionele koprij en een benoemde tabelstijl:

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

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

Haal een bestaande tabel op op naam met Worksheet.GetTable(name).


Afbeeldingen

Worksheet.AddPicture voegt een afbeelding in; Picture.SetAnchor(row, col) positioneert deze:

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)

Grote bestanden streamen

StreamingReader leest een werkblad rij voor rij via een callback, zodat een werkmap met duizenden rijen nooit volledig in het geheugen geladen hoeft te worden:

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)
}

Tips en best practices

  • Gebruik StreamingReader in plaats van een volledige Workbook-load wanneer een bestand duizenden rijen kan bevatten en je het alleen hoeft te lezen, niet te wijzigen.
  • Maak één keer een Style en hergebruik deze in veel cellen in plaats van voor elke cel een nieuwe te construeren.
  • Cell.SetFormula slaat een formule-string letterlijk op — deze wordt bij het openen geëvalueerd door Excel of LibreOffice, niet door de bibliotheek op het moment van opslaan.
  • Controleer de retourwaarde van error van Save, AddDataValidation en CSV-import/-export-aanroepen — spreadsheet-I/O kan mislukken bij ongeldige paden of slecht gevormde invoer.

Veelvoorkomende problemen

IssueCauseOplossen
Celwaarde niet zichtbaar na SetVerwijzen naar het verkeerde blad of een celverwijzing buiten het bereikBevestig de Worksheet index en dat de A1-stijl referentie overeenkomt met de beoogde cel
Formule wordt weergegeven als ruwe tekst in plaats van te berekenenDe bibliotheek slaat alleen de formuletekst op; hij evalueert geen formulesOpen het bestand in Excel of LibreOffice, die de berekening bij het openen uitvoeren
Gegevensvalidatie niet zichtbaar in ExcelValidatie is toegevoegd aan een bereik dat de doelcel niet bevatBevestig dat de bereikstring (bijv. "A2:A10") de cellen omvat die u wilt valideren

FAQ

Evalueert de bibliotheek zelf formules?

Nr. Cell.SetFormula/GetFormula slaan een formule-string op die Excel of LibreOffice evalueert wanneer het bestand wordt geopend.

Kan ik grote werkboeken stream-schrijven, en niet alleen stream-lezen?

StreamingReader dekt streaming-leesbewerkingen. Het schrijven van grote werkboeken gaat momenteel via de standaard in-memory Workbook/Worksheet API.

Past AddTable automatisch een autofilter toe?

Dit is niet bevestigd in de huidige API interface — alleen HasHeaderRow en StyleName zijn gedocumenteerde Table-velden. Verifieer tegen het gegenereerde .xlsx-bestand indien dit van belang is voor uw use-case.


API Reference Samenvatting

Klasse / MethodeBeschrijving
Workbook.NewWorkbook / SaveMaak een werkmap aan en sla deze op
Worksheet.CellsToegang tot de celverzameling voor een werkblad
Cells.Get / Set / Remove / AllLezen, schrijven, verwijderen en opsommen van cellen
Cell.SetStyle / SetFormula / GetFormulaStijlen en formules toepassen op een cel
Style, Font, Fill, Alignment, BorderHerbruikbare celopmaak samenstellen
Worksheet.AddDataValidationEen validatieregel aan een celbereik koppelen
Worksheet.AddTable / GetTableMaak en haal gestructureerde tabelbereiken op
Worksheet.AddPicture / Picture.SetAnchor(row, col)Afbeeldingen insluiten en positioneren
StreamingReader.ProcessRowsStream een werkblad rij voor rij
Workbook.ExportToCSV / ImportFromCSVConverteren tussen XLSX en CSV
Workbook.SetPassword / VerifyPasswordBescherm en controleer een werkboekwachtwoord

Zie ook

 Nederlands