Aspose.Cells FOSS for Go egy ingyenes, nyílt forráskódú könyvtár, amely Excel táblázatfájlokkal való munkát tesz lehetővé Go alkalmazásokban. Telepítsd a go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 segítségével, és kezdj el munkafüzeteket létrehozni, cellákat olvasni és írni, stílusokat alkalmazni, adatérvényesítést hozzáadni, valamint CSV-be exportálni, anélkül, hogy a Microsoft Excel vagy bármilyen Office függőség szükséges lenne.
A könyvtár egy kis, idiomatikus Go API-t kínál, amely a Workbook, Worksheet, Cells és Cell köré épül. A cellákhoz a Cells() gyűjteményen keresztül férhetsz hozzá a Get/Set/Remove segítségével, a formázást csoportosíthatod újrahasználható Style objektumokba, amelyek a Font, Fill, Alignment és Border elemekből épülnek, és felépíthetsz strukturált Table tartományokat egy fejléc sorral és elnevezett táblázat stílussal. Egy dedikált StreamingReader soronként olvassa a .xlsx munkafüzeteket egy visszahíváson keresztül, így nagy fájlok feldolgozhatók anélkül, hogy az egész munkalapot a memóriába kellene betölteni.
go.mod nem deklarál külső függőségeket — a könyvtár teljes egészében a Go standard könyvtárra épül. MIT licenc alatt áll, a GitHubon van tárolva, és egyetlen go get paranccsal telepíthető; nincs cgo, nincs natív Office könyvtár, és nincs konfigurálandó rendszercsomag. Az vállalati termékcsaládért lásd a Aspose.Cells — Enterprise Product Family.
Cells().Get(ref) / Cells().Set(ref, value) segítségével.Cell.SetFormula/GetFormula tárol egy képlet karakterláncot a cellában — a megnyitáskor az Excel vagy a LibreOffice értékeli ki, nem a könyvtár a mentéskor.Workbook.ExportToCSV/ImportFromCSV és Worksheet.ToCSV/FromCSV konvertál az XLSX és a CSV között.StreamingReader.ProcessRows egy munkalapot soronként streameli egy visszahíváson keresztül, nagy fájlok feldolgozásához anélkül, hogy a teljes lapot a memóriába töltené.Workbook.SetPassword/VerifyPassword védi és ellenőrzi a munkafüzet jelszavait.StreamingReader segítségével ahelyett, hogy teljesen a memóriába töltené őket.Font (name, size, bold, italic, color), Fill (type, color), Alignment (horizontal, vertical, wrap text), és a Border (top/bottom/left/right, color) egy újrahasználható Style-ba, amelyet a Cell.SetStyle alkalmaz.Worksheet.AddDataValidation listákat és egész számú tartományok validálási szabályait csatolja, mindegyikhez egy egyéni hiba cím, üzenet és hiba stílus.Worksheet.AddTable/GetTable létrehozza a strukturált Table tartományt opcionális fejlécsorral és egy megnevezett táblázat stílussal.Worksheet.AddPicture beágyaz egy Picture képet a SetAnchor(row, col) pozicionálással.Aspose.Cells FOSS for Go egyetlen go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 paranccsal telepíthető. go.mod nem tartalmaz require bejegyzéseket — nincsenek külső függőségek, amelyeket ellenőrizni vagy vendorizálni kellene.
A API felület szándékosan kompakt: a Workbook, Worksheet, Cells, Cell, Style és néhány támogató típus lefedi a táblázatok létrehozását, formázását, ellenőrzését, valamint a CSV/streaming I/O-t. A kódbázis MIT licencű és a GitHubon van tárolva.
Telepítsd a go get segítségével, hozz létre egy Workbook-ot, érj el az első Worksheet-ot, és írj értékeket közvetlenül a cellákba a Cells() gyűjteményen keresztül, mielőtt mentenéd.
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26func main() {
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Hello")
ws.Cells().Set("B1", "World")
ws.Cells().Set("A2", "Answer")
ws.Cells().Set("B2", 42)
outPath := "outputfiles/basic.xlsx"
if err := wb.Save(outPath); err != nil {
fmt.Printf("Error saving workbook: %v\n", err)
return
}
fmt.Printf("Workbook saved to %s\n", outPath)
}
Csatolj egy lista-típusú érvényesítést (engedélyezett értékek legördülő listáját) és egy egész szám tartományú érvényesítést két különböző oszlophoz, mindegyikhez saját hiba címmel és üzenettel.
func main() {
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Fruit")
ws.Cells().Set("A2", "Apple")
ws.Cells().Set("A3", "Banana")
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,
}
if err := ws.AddDataValidation("A2:A10", dv); err != nil {
fmt.Printf("Error: %v\n", err)
return
}
dv2 := &cells_foss.DataValidation{
Type: cells_foss.DataValidationTypeWhole,
Formula1: "1",
Formula2: "100",
ShowErrorMessage: true,
ErrorTitle: "Invalid Value",
ErrorMessage: "Enter a whole number between 1 and 100.",
ErrorStyle: cells_foss.ErrorStyleWarning,
}
ws.Cells().Set("B1", "Score (1-100)")
ws.AddDataValidation("B2:B10", dv2)
outPath := "outputfiles/data_validation.xlsx"
if err := wb.Save(outPath); err != nil {
fmt.Printf("Error saving workbook: %v\n", err)
return
}
fmt.Printf("Workbook saved to %s\n", outPath)
}
StreamingReader egy munkalapot soronként olvas be egy visszahíváson keresztül, így egy több ezer soros munkafüzetet soha nem kell teljesen betölteni a memóriába.
func main() {
genPath := "outputfiles/streaming_data.xlsx"
sr := cells_foss.NewStreamingReader(genPath)
rowCount := 0
var totalScore float64
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
rowCount++
if rowIdx == 1 {
fmt.Printf(" Header: %v\n", cells)
return nil
}
if score, ok := cells["C"+fmt.Sprint(rowIdx)]; ok {
var s float64
fmt.Sscanf(score, "%f", &s)
totalScore += s
}
return nil
})
if err != nil {
fmt.Fprintf(os.Stderr, "Error streaming: %v\n", err)
os.Exit(1)
}
fmt.Printf("Streamed %d rows (header + %d data rows)\n", rowCount, rowCount-1)
}
Aspose.Cells FOSS for Go a MIT Licenc alatt kerül kiadásra, amely kereskedelmi és nyílt forráskódú használatot engedélyez.
Igen. Az MIT licenc megengedi a kereskedelmi felhasználást anélkül, hogy kötelező lenne a saját forráskódod közzététele, amennyiben az eredeti szerzői jogi nyilatkozat megmarad.
Adja hozzá Go modul függőségként a go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 segítségével. Szükséges Go 1.24 vagy újabb.
Nem. go.mod nem tartalmaz require bejegyzéseket — a könyvtár teljes egészében a Go standard library-re épül.
Igen. StreamingReader.ProcessRows egy munkalapot soronként olvas be egy visszahíváson keresztül, elkerülve a teljes memóriába történő betöltést.