Introducere
Aspose.Cells FOSS pentru Go este o bibliotecă pure-Go pentru lucrul cu foi de calcul Excel. Expune un API pentru crearea de noi registre de lucru de la zero, scrierea și stilizarea valorilor celulelor, aplicarea regulilor de validare a datelor, construirea de tabele structurate, încorporarea imaginilor și citirea fișierelor mari .xlsx rând cu rând — totul fără dependențe native C sau C++.
Biblioteca este disponibilă ca modul Go la github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go și este distribuită sub licența MIT. Instalați-o cu go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 în orice proiect Go 1.24+.
Acest articol acoperă funcționalitățile de bază: stilizarea celulelor, validarea datelor, tabelele, imaginile și citirile în flux.
Funcționalități cheie
Stilizarea celulelor
Grupați setările Font, Fill, Alignment și Border într-un Style reutilizabil, apoi aplicați-l unei celule cu 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 controlează Horizontal, Vertical și WrapText; Border controlează vizibilitatea regulilor Top, Bottom, Left și Right plus Color.
Validarea datelor
Worksheet.AddDataValidation atașează o regulă de validare la un interval de celule. Structura DataValidation conține regula Type, una sau două valori Formula și câmpuri pentru mesajele de eroare:
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)
Tabele
Worksheet.AddTable creează un Table structurat pe un interval, cu un rând de antet opțional și un stil de tabel denumit:
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"
Imagini
Worksheet.AddPicture încorporează o imagine; Picture.SetAnchor(row, col) o poziționează:
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)
Transmitere în flux a fișierelor mari
StreamingReader citește o foaie de calcul rând cu rând printr-un callback, astfel încât un registru de lucru cu mii de rânduri nu trebuie să fie încărcat complet în memorie:
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)
}
Începe rapid
Instalați modulul:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Un flux de lucru minimal — creați un registru de lucru, scrieți două celule, îngroșați antetul și salvați:
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")
}
Formate acceptate
| Format | Extensie | Citire | Scriere |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
Cărțile de lucru XLSX sunt construite în memorie cu NewWorkbook și scrise cu Workbook.Save. CSV este bidirecțional prin Workbook.ImportFromCSV și Workbook.ExportToCSV.
Open Source & Licențiere
Aspose.Cells FOSS pentru Go este lansat sub licența MIT. Nu există restricții de utilizare, nu există taxe de rulare și nu există cerințe de înregistrare. Codul sursă este disponibil la github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.
Utilizarea comercială este permisă în conformitate cu termenii licenței MIT. Dacă proiectul dumneavoastră necesită suport de nivel enterprise, acoperire extinsă a formatelor sau integrare în cloud, Aspose.Cells — Enterprise Product Family este o ofertă comercială separată.