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
StreamingReaderin plaats van een volledigeWorkbook-load wanneer een bestand duizenden rijen kan bevatten en je het alleen hoeft te lezen, niet te wijzigen. - Maak één keer een
Styleen hergebruik deze in veel cellen in plaats van voor elke cel een nieuwe te construeren. Cell.SetFormulaslaat 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
errorvanSave,AddDataValidationen CSV-import/-export-aanroepen — spreadsheet-I/O kan mislukken bij ongeldige paden of slecht gevormde invoer.
Veelvoorkomende problemen
| Issue | Cause | Oplossen |
|---|---|---|
Celwaarde niet zichtbaar na Set | Verwijzen naar het verkeerde blad of een celverwijzing buiten het bereik | Bevestig de Worksheet index en dat de A1-stijl referentie overeenkomt met de beoogde cel |
| Formule wordt weergegeven als ruwe tekst in plaats van te berekenen | De bibliotheek slaat alleen de formuletekst op; hij evalueert geen formules | Open het bestand in Excel of LibreOffice, die de berekening bij het openen uitvoeren |
| Gegevensvalidatie niet zichtbaar in Excel | Validatie is toegevoegd aan een bereik dat de doelcel niet bevat | Bevestig 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 / Methode | Beschrijving |
|---|---|
Workbook.NewWorkbook / Save | Maak een werkmap aan en sla deze op |
Worksheet.Cells | Toegang tot de celverzameling voor een werkblad |
Cells.Get / Set / Remove / All | Lezen, schrijven, verwijderen en opsommen van cellen |
Cell.SetStyle / SetFormula / GetFormula | Stijlen en formules toepassen op een cel |
Style, Font, Fill, Alignment, Border | Herbruikbare celopmaak samenstellen |
Worksheet.AddDataValidation | Een validatieregel aan een celbereik koppelen |
Worksheet.AddTable / GetTable | Maak en haal gestructureerde tabelbereiken op |
Worksheet.AddPicture / Picture.SetAnchor(row, col) | Afbeeldingen insluiten en positioneren |
StreamingReader.ProcessRows | Stream een werkblad rij voor rij |
Workbook.ExportToCSV / ImportFromCSV | Converteren tussen XLSX en CSV |
Workbook.SetPassword / VerifyPassword | Bescherm en controleer een werkboekwachtwoord |