Einleitung
Neben dem Erstellen und Gestalten von Arbeitsmappen verbringt der meiste alltägliche Tabellenkalkulationscode seine Zeit damit, Zellwerte zu lesen und zu schreiben, Formeln anzuhängen und Daten zwischen XLSX und CSV zu verschieben. Aspose.Cells FOSS für Go deckt alle drei über die Typen Workbook und Cells ab.
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. Installiere sie mit go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 in jedes Go 1.24+‑Projekt.
Dieser Beitrag führt durch das Lesen/Schreiben von Zellen, Formeln, CSV‑Konvertierung und das Entfernen von Zellen.
Wichtige Funktionen
Erstelle eine Arbeitsmappe und schreibe Zellen
NewWorkbook() gibt eine Arbeitsmappe zurück, die bereits ein Arbeitsblatt enthält. Schreibe Werte mit Cells().Set(ref, value):
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)
wb.Save("inventory.xlsx")
Zellen zurücklesen
Cells().Get(ref) liefert das *Cell für eine Referenz zusammen mit einem Fehler, falls die Referenz ungültig ist:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("C2", 12.99)
cell, err := ws.Cells().Get("C2")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
fmt.Printf("C2 = %v\n", cell.Value)
Verwende Cells().All(), um jede befüllte Zelle in der Sammlung aufzulisten, wenn du über das gesamte Blatt iterieren musst.
Formel hinzufügen
Cell.SetFormula speichert einen Formelsstring in einer Zelle. Erstelle die Zelle zuerst mit Set und hänge dann die Formel an — die Formel wird beim Öffnen von Excel oder LibreOffice ausgewertet, nicht von der Bibliothek:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")
CSV-Konvertierung
Workbook.ExportToCSV schreibt einen angegebenen Arbeitsblatt‑Index in eine CSV‑Datei mit dem von dir gewählten Trennzeichen; Workbook.ImportFromCSV liest eine CSV‑Datei in ein benanntes Arbeitsblatt ein:
wb := cells_foss.NewWorkbook()
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
Zelle entfernen
Cells().Remove(ref) löscht den Wert einer Zelle:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")
if err := ws.Cells().Remove("A2"); err != nil {
fmt.Printf("Error removing cell: %v\n", err)
}
Schnellstart
Modul installieren:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Ein minimaler Workflow — erstelle eine kleine Tabelle von Werten und exportiere sie als CSV:
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", "Item")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
fmt.Println("Exported inventory.csv")
}
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 gestattet. Wenn Ihr Projekt Enterprise‑Support, erweiterte Formatabdeckung oder Cloud‑Integration erfordert, die Aspose.Cells — Enterprise Product Family ist ein separates kommerzielles Angebot.