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
StreamingReadermí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
Stylejednou a znovu jej použijte v mnoha buňkách místo toho, abyste jej vytvářeli znovu pro každou buňku. Cell.SetFormulauklá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
errorzSave,AddDataValidationa 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
| Issue | Cause | Opravit |
|---|---|---|
Hodnota buňky není viditelná po Set | Odkazování na nesprávný list nebo odkaz na buňku mimo rozsah | Potvrď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čtu | Knihovna ukládá pouze řetězec vzorce; nevyhodnocuje vzorce | Otevř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ňku | Potvrď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 / Metoda | Popis: |
|---|---|
Workbook.NewWorkbook / Save | Vytvořte a uložte sešit |
Worksheet.Cells | Přístup ke kolekci buněk listu |
Cells.Get / Set / Remove / All | Číst, zapisovat, odstraňovat a vyjmenovávat buňky |
Cell.SetStyle / SetFormula / GetFormula | Použít stylování a vzorce na buňku |
Style, Font, Fill, Alignment, Border | Vytvořte opakovaně použitelné formátování buněk |
Worksheet.AddDataValidation | Přidejte validační pravidlo k rozsahu buněk |
Worksheet.AddTable / GetTable | Vytvořte a získejte strukturované rozsahy tabulek |
Worksheet.AddPicture / Picture.SetAnchor(row, col) | Vložte a umístěte obrázky |
StreamingReader.ProcessRows | Streamovat list po řádcích |
Workbook.ExportToCSV / ImportFromCSV | Převést mezi XLSX a CSV |
Workbook.SetPassword / VerifyPassword | Chránit a ověřit heslo sešitu |