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/v26

Ein 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

FormatErweiterungLesenSchreiben
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.


Erste Schritte

Verwandte Ressourcen