Wstęp
Aspose.Cells FOSS dla Go jest czystą biblioteką Go do pracy z arkuszami Excel. Udostępnia API do tworzenia nowych skoroszytów od podstaw, zapisywania i stylizacji wartości komórek, stosowania reguł walidacji danych, budowania strukturalnych tabel, osadzania obrazów oraz odczytywania dużych plików .xlsx wiersz po wierszu — wszystko bez natywnych zależności C lub C++.
Biblioteka jest dostępna jako moduł Go pod adresem github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go i jest udostępniona na licencji MIT. Zainstaluj ją za pomocą go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 w dowolnym projekcie Go 1.24+.
Ten wpis opisuje podstawowe możliwości: formatowanie komórek, walidację danych, tabele, obrazy oraz odczyt strumieniowy.
Kluczowe funkcje
Formatowanie komórek
Połącz ustawienia Font, Fill, Alignment i Border w wielokrotnego użytku Style, a następnie zastosuj go do komórki przy pomocy 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 steruje Horizontal, Vertical i WrapText; Border kontroluje widoczność reguł Top, Bottom, Left i Right oraz Color.
Walidacja danych
Worksheet.AddDataValidation dołącza regułę walidacji do zakresu komórek. Struktura DataValidation zawiera regułę Type, jedną lub dwie wartości Formula oraz pola komunikatów o błędach:
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 tworzy strukturalną Table na określonym zakresie, z opcjonalnym wierszem nagłówka i nazwanym stylem tabeli:
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"
Obrazy
Worksheet.AddPicture osadza obraz; Picture.SetAnchor(row, col) pozycjonuje go:
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)
Strumieniowanie dużych plików
StreamingReader odczytuje arkusz wiersz po wierszu za pomocą wywołania zwrotnego, dzięki czemu skoroszyt z tysiącami wierszy nigdy nie musi być w całości wczytywany do pamięci:
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)
}
Szybki start
Zainstaluj moduł:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26Minimalny przepływ pracy — utwórz skoroszyt, zapisz dwie komórki, pogrub nagłówek i zapisz:
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")
}
Obsługiwane formaty
| Format | Rozszerzenie | Czytaj | Zapisz |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
Skoroszyty XLSX są tworzone w pamięci przy użyciu NewWorkbook i zapisywane przy pomocy Workbook.Save. CSV jest dwukierunkowy dzięki Workbook.ImportFromCSV oraz Workbook.ExportToCSV.
Open Source i licencjonowanie
Aspose.Cells FOSS dla Go jest udostępniony na licencji MIT. Nie ma ograniczeń w użytkowaniu, opłat za działanie ani wymagań rejestracji. Kod źródłowy jest dostępny pod adresem github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.
Użycie komercyjne jest dozwolone na warunkach licencji MIT. Jeśli Twój projekt wymaga wsparcia klasy enterprise, rozszerzonego wsparcia formatów lub integracji z chmurą, Aspose.Cells — Enterprise Product Family jest odrębną ofertą komercyjną.