Introductie
Aspose.Cells FOSS voor Go is een pure-Go bibliotheek voor het werken met Excel-spreadsheets. Het biedt een API voor het maken van nieuwe werkboeken vanaf nul, het schrijven en opmaken van celwaarden, het toepassen van gegevensvalidatieregels, het bouwen van gestructureerde tabellen, het insluiten van afbeeldingen, en het lezen van grote .xlsx-bestanden regel voor regel — allemaal zonder native C- of C++-afhankelijkheden.
De bibliotheek is beschikbaar als een Go-module op github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go en wordt uitgebracht onder de MIT-licentie. Installeer het met go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 in elk Go 1.24+ project.
Dit bericht behandelt de kernfunctionaliteiten: celopmaak, gegevensvalidatie, tabellen, afbeeldingen en streaming-lezingen.
Belangrijkste kenmerken
Celopmaak
Groepeer de instellingen Font, Fill, Alignment en Border 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
cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)
Alignment bepaalt Horizontal, Vertical en WrapText; Border bepaalt de zichtbaarheid van de Top, Bottom, Left en Right regels plus Color.
Gegevensvalidatie
Worksheet.AddDataValidation koppelt een validatieregel aan een celbereik. De DataValidation-struct bevat de regel Type, één of twee Formula-waarden, en velden voor foutmeldingen:
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)
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]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Qty")
tbl := ws.AddTable("A1:B2")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"
Afbeeldingen
Worksheet.AddPicture embed een afbeelding; 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)
Streaming van grote bestanden
StreamingReader leest een werkblad rij voor rij via een callback, zodat een werkboek met duizenden rijen nooit volledig in het geheugen geladen hoeft te worden:
sr := cells_foss.NewStreamingReader("large_workbook.xlsx")
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)
}
Snelstart
Installeer de module:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Een minimale workflow — maak een werkmap, schrijf twee cellen, maak de koptekst vet, en sla op:
package main
import (
"fmt"
cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)
func main() {
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Product")
ws.Cells().Set("B1", "Revenue")
boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
for _, ref := range []string{"A1", "B1"} {
cell, _ := ws.Cells().Get(ref)
cell.SetStyle(boldStyle)
}
if err := wb.Save("report.xlsx"); err != nil {
fmt.Printf("Error saving workbook: %v\n", err)
return
}
fmt.Println("Workbook saved to report.xlsx")
}
Ondersteunde formaten
| Formaat | Extensie | Lezen | Schrijven |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
XLSX-werkboeken worden in het geheugen opgebouwd met NewWorkbook en weggeschreven met Workbook.Save. CSV is bidirectioneel via Workbook.ImportFromCSV en Workbook.ExportToCSV.
Open source & licenties
Aspose.Cells FOSS voor Go wordt uitgebracht onder de MIT-licentie. Er zijn geen gebruiksbeperkingen, geen runtime-kosten en geen registratievereisten. De broncode is beschikbaar op github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.
Commercieel gebruik is toegestaan onder de voorwaarden van de MIT-licentie. Als uw project enterprise-ondersteuning, uitgebreide formaatondersteuning of cloud-integratie vereist, is de Aspose.Cells — Enterprise Product Family een aparte commerciële aanbieding.