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

Een 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

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


Aan de slag

Gerelateerde bronnen