Přehled funkcí

Přehled funkcí

Aspose.Cells FOSS pro Go’s API se zaměřuje na Workbook, Worksheet, Cells a Cell. Tento průvodce prochází dalšími schopnostmi knihovny: stylování, validaci dat, tabulky, obrázky a streamové čtení velkých souborů.


Formátování buňky

Seskupte nastavení Font, Fill, Alignment a Border do znovupoužitelného Style a poté jej použijte na buňku pomocí Cell.SetStyle:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
boldStyle.Font.Size = 12

highlightStyle := cells_foss.NewStyle()
highlightStyle.Font.Color = "FFFFFFFF"
highlightStyle.Font.Bold = true
highlightStyle.Fill = &cells_foss.Fill{
	Type:  cells_foss.FillTypeSolid,
	Color: "FF4472C4",
}

cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)

Alignment řídí Horizontal, Vertical a WrapText; Border řídí Top, Bottom, Left a Right viditelnost pravidel plus Color.


Validace dat

Worksheet.AddDataValidation připojuje validační pravidlo k rozsahu buněk. Struktura DataValidation nese pravidlo Type, jednu nebo dvě hodnoty Formula a pole chybových zpráv:

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)

Validace rozsahu celých čísel používá DataValidationTypeWhole s Formula1/Formula2 jako dolní a horní mez.


Tabulky

Worksheet.AddTable vytváří strukturovaný Table nad rozsahem, s volitelným řádkem záhlaví a pojmenovaným stylem tabulky:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

tbl := ws.AddTable("A1:F6")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"

Načtěte existující tabulku podle názvu pomocí Worksheet.GetTable(name).


Obrázky

Worksheet.AddPicture vkládá obrázek; Picture.SetAnchor(row, col) jej umisťuje:

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)

Streamování velkých souborů

StreamingReader čte list kalkulace řádek po řádku pomocí zpětného volání, takže se sešit s tisíci řádky nikdy nemusí načíst celý do paměti:

path := "outputfiles/large_workbook.xlsx"
sr := cells_foss.NewStreamingReader(path)
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)
}

Tipy a osvědčené postupy

  • Použijte StreamingReader místo úplného načtení Workbook, když může mít soubor tisíce řádků a potřebujete jej jen přečíst, nikoli upravovat.
  • Vytvořte Style jednou a znovu jej použijte v mnoha buňkách místo toho, abyste jej vytvářeli znovu pro každou buňku.
  • Cell.SetFormula ukládá řetězec vzorce doslovně — je vyhodnocen Excel nebo LibreOffice při otevření, nikoli knihovnou při ukládání.
  • Zkontrolujte návratovou hodnotu error z Save, AddDataValidation a volání pro import/export CSV — I/O tabulek může selhat při neplatných cestách nebo poškozeném vstupu.

Časté problémy

IssueCauseOpravit
Hodnota buňky není viditelná po SetOdkazování na nesprávný list nebo odkaz na buňku mimo rozsahPotvrďte index Worksheet a že odkaz ve stylu A1 odpovídá zamýšlené buňce
Vzorec se zobrazuje jako prostý text místo výpočtuKnihovna ukládá pouze řetězec vzorce; nevyhodnocuje vzorceOtevřete soubor v Excelu nebo LibreOffice, které provádějí výpočet při otevření
Ověření dat není v Excelu viditelnéValidace byla přidána k rozsahu, který nezahrnuje cílovou buňkuPotvrďte, že řetězec rozsahu (např. "A2:A10") zahrnuje buňky, které chcete validovat

FAQ

Vyhodnocuje knihovna vzorce sama?

Číslo Cell.SetFormula/GetFormula uloží řetězec vzorce, který Excel nebo LibreOffice vyhodnotí při otevření souboru.

Mohu streamově zapisovat velké sešity, ne jen je streamově číst?

StreamingReader zahrnuje streamové čtení. Zápis velkých sešitů v současnosti probíhá přes standardní paměťové Workbook/Worksheet API.

Aplikuje AddTable automaticky filtr?

Toto není v aktuální API ploše potvrzeno — pouze HasHeaderRow a StyleName jsou zdokumentovaná pole Table. Ověřte pomocí vygenerovaného souboru .xlsx, pokud je to pro váš případ důležité.


Shrnutí API Reference

Třída / MetodaPopis:
Workbook.NewWorkbook / SaveVytvořte a uložte sešit
Worksheet.CellsPřístup ke kolekci buněk listu
Cells.Get / Set / Remove / AllČíst, zapisovat, odstraňovat a vyjmenovávat buňky
Cell.SetStyle / SetFormula / GetFormulaPoužít stylování a vzorce na buňku
Style, Font, Fill, Alignment, BorderVytvořte opakovaně použitelné formátování buněk
Worksheet.AddDataValidationPřidejte validační pravidlo k rozsahu buněk
Worksheet.AddTable / GetTableVytvořte a získejte strukturované rozsahy tabulek
Worksheet.AddPicture / Picture.SetAnchor(row, col)Vložte a umístěte obrázky
StreamingReader.ProcessRowsStreamovat list po řádcích
Workbook.ExportToCSV / ImportFromCSVPřevést mezi XLSX a CSV
Workbook.SetPassword / VerifyPasswordChránit a ověřit heslo sešitu

Viz také:

 Čeština