Wprowadzenie
Poza tworzeniem i stylizowaniem skoroszytów, większość codziennego kodu obsługującego arkusze kalkulacyjne spędza czas na odczytywaniu i zapisywaniu wartości komórek, dołączaniu formuł oraz przenoszeniu danych między XLSX a CSV. Aspose.Cells FOSS dla Go obejmuje wszystkie trzy poprzez typy Workbook i Cells.
Biblioteka jest dostępna jako moduł Go pod adresem github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go i jest wydana na licencji MIT. Zainstaluj ją poleceniem go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 w dowolnym projekcie Go 1.24+.
Ten wpis przeprowadza przez odczyt/zapis komórek, formuły, konwersję CSV oraz usuwanie komórek.
Kluczowe funkcje
Utwórz zeszyt i zapisz komórki
NewWorkbook() zwraca skoroszyt z już jedną istniejącą arkuszem. Zapisuj wartości przy użyciu Cells().Set(ref, value):
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)
wb.Save("inventory.xlsx")
Odczytaj komórki ponownie
Cells().Get(ref) zwraca *Cell dla podanej referencji oraz błąd, jeśli referencja jest nieprawidłowa:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("C2", 12.99)
cell, err := ws.Cells().Get("C2")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
fmt.Printf("C2 = %v\n", cell.Value)
Użyj Cells().All(), aby wyliczyć każdą wypełnioną komórkę w kolekcji, gdy potrzebujesz przeiterować cały arkusz.
Dodaj formułę
Cell.SetFormula zapisuje ciąg formuły w komórce. Najpierw utwórz komórkę za pomocą Set, a następnie dołącz formułę — formuła jest oceniana przez Excel lub LibreOffice przy otwarciu, a nie przez bibliotekę:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")
Konwersja CSV
Workbook.ExportToCSV zapisuje wskazany indeks arkusza do pliku CSV z wybranym przez Ciebie separatorem; Workbook.ImportFromCSV odczytuje plik CSV do nazwanego arkusza:
wb := cells_foss.NewWorkbook()
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
Usuń komórkę
Cells().Remove(ref) czyści wartość komórki:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")
if err := ws.Cells().Remove("A2"); err != nil {
fmt.Printf("Error removing cell: %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 małą tabelę wartości i wyeksportuj ją do CSV:
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", "Item")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
fmt.Println("Exported inventory.csv")
}
Obsługiwane formaty
| Format | Rozszerzenie | Odczyt | Zapis |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
Skoroszyty XLSX są tworzone w pamięci przy użyciu NewWorkbook i zapisywane przy pomocy Workbook.Save. CSV jest dwukierunkowy za pomocą Workbook.ImportFromCSV i Workbook.ExportToCSV.
Open Source i licencjonowanie
Aspose.Cells FOSS dla Go jest udostępniony na licencji MIT. Nie ma ograniczeń użytkowania, opłat za uruchomienie 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 na poziomie przedsiębiorstwa, rozszerzonego wsparcia formatów lub integracji z chmurą, Aspose.Cells — Enterprise Product Family jest odrębną ofertą komercyjną.