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/v26

Minimalny 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

FormatRozszerzenieCzytajZapisz
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ą.


Rozpoczęcie

Powiązane zasoby