Einleitung
Aspose.Cells FOSS für Go ist eine reine Go-Bibliothek zur Arbeit mit Excel-Tabellen. Sie stellt ein API zum Erstellen neuer Arbeitsmappen von Grund auf, zum Schreiben und Stylen von Zellenwerten, zum Anwenden von Datenvalidierungsregeln, zum Erstellen strukturierter Tabellen, zum Einbetten von Bildern und zum Lesen großer .xlsx-Dateien zeilenweise bereit – und das alles ohne native C- oder C++-Abhängigkeiten.
Die Bibliothek ist als Go-Modul unter github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go verfügbar und wird unter der MIT-Lizenz veröffentlicht. Installieren Sie sie mit go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 in jedes Go-1.24+-Projekt.
Dieser Beitrag behandelt die Kernfunktionen: Zellenformatierung, Datenvalidierung, Tabellen, Bilder und Streaming-Lesevorgänge.
Hauptmerkmale
Zellenformatierung
Gruppieren Sie die Einstellungen Font, Fill, Alignment und Border in einen wiederverwendbaren Style und wenden Sie ihn dann mit Cell.SetStyle auf eine Zelle an:
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 steuert Horizontal, Vertical und WrapText; Border regelt die Sichtbarkeit der Top, Bottom, Left und Right-Regeln sowie Color.
Datenvalidierung
Worksheet.AddDataValidation fügt einem Zellenbereich eine Validierungsregel hinzu. Die Struktur DataValidation enthält das Regel-Type, ein oder zwei Formula-Werte und Felder für Fehlermeldungen:
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 erstellt eine strukturierte Table über einem Bereich, mit einer optionalen Kopfzeile und einem benannten Tabellenstil:
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"
Bilder
Worksheet.AddPicture bettet ein Bild ein; Picture.SetAnchor(row, col) positioniert es:
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 großer Dateien
StreamingReader liest ein Arbeitsblatt zeilenweise über einen Callback, sodass eine Arbeitsmappe mit mehreren tausend Zeilen nie vollständig in den Speicher geladen werden muss:
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)
}
Schnellstart
Modul installieren:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Ein minimaler Arbeitsablauf — ein Arbeitsbuch erstellen, zwei Zellen schreiben, die Überschrift fett formatieren und speichern:
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")
}
Unterstützte Formate
| Format | Erweiterung | Lesen | Schreiben |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
XLSX-Arbeitsmappen werden im Speicher mit NewWorkbook erstellt und mit Workbook.Save geschrieben. CSV ist bidirektional über Workbook.ImportFromCSV und Workbook.ExportToCSV.
Open Source & Lizenzierung
Aspose.Cells FOSS für Go wird unter der MIT-Lizenz veröffentlicht. Es gibt keine Nutzungsbeschränkungen, keine Laufzeitgebühren und keine Registrierungsanforderungen. Der Quellcode ist verfügbar unter github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.
Kommerzielle Nutzung ist gemäß den Bedingungen der MIT-Lizenz erlaubt. Wenn Ihr Projekt Enterprise-Support, erweiterte Formatunterstützung oder Cloud-Integration benötigt, ist die Aspose.Cells — Enterprise Product Family ein separates kommerzielles Angebot.