Introduzione
Aspose.Cells FOSS per Go è una libreria pure-Go per lavorare con i fogli di calcolo Excel. Espone un API per creare nuove cartelle di lavoro da zero, scrivere e formattare i valori delle celle, applicare regole di convalida dei dati, costruire tabelle strutturate, incorporare immagini e leggere grandi file .xlsx riga per riga — tutto senza dipendenze native C o C++.
La libreria è disponibile come modulo Go su github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go ed è rilasciata sotto licenza MIT. Installala con go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 in qualsiasi progetto Go 1.24+.
Questo post copre le funzionalità principali: formattazione delle celle, convalida dei dati, tabelle, immagini e letture in streaming.
Caratteristiche principali
Formattazione delle celle
Raggruppa le impostazioni Font, Fill, Alignment e Border in un Style riutilizzabile, quindi applicalo a una cella con 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 controlla Horizontal, Vertical e WrapText; Border controlla la visibilità delle regole Top, Bottom, Left e Right oltre a Color.
Convalida dei dati
Worksheet.AddDataValidation aggiunge una regola di convalida a un intervallo di celle. La struttura DataValidation contiene la regola Type, uno o due valori Formula e i campi del messaggio di errore:
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)
Tabelle
Worksheet.AddTable crea un Table strutturato su un intervallo, con una riga di intestazione opzionale e uno stile di tabella denominato:
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"
Immagini
Worksheet.AddPicture incorpora un’immagine; Picture.SetAnchor(row, col) la posiziona:
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 di file di grandi dimensioni
StreamingReader legge un foglio di lavoro riga per riga tramite una callback, quindi un workbook con migliaia di righe non deve mai essere caricato completamente in memoria:
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)
}
Guida rapida
Installa il modulo:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Un flusso di lavoro minimale — crea un workbook, scrivi due celle, rendi grassetto l’intestazione e salva:
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")
}
Formati supportati
| Formato | Estensione | Leggi | Scrivi |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
I workbook XLSX sono costruiti in memoria con NewWorkbook e scritti con Workbook.Save. CSV è bidirezionale tramite Workbook.ImportFromCSV e Workbook.ExportToCSV.
Open Source & Licenza
Aspose.Cells FOSS per Go è rilasciato sotto licenza MIT. Non ci sono restrizioni d’uso, né costi di runtime, né requisiti di registrazione. Il codice sorgente è disponibile su github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.
L’uso commerciale è consentito secondo i termini della licenza MIT. Se il tuo progetto richiede supporto di livello enterprise, copertura estesa dei formati o integrazione cloud, il Aspose.Cells — Enterprise Product Family è un’offerta commerciale separata.