Práce se správou tabulek
Práce se správou tabulek
Tento průvodce provádí krok za krokem každodenní operace při vytváření a úpravě tabulek: vytváření sešitů, zapisování hodnot do buněk, přidávání vzorců, tvorbu tabulek a export do CSV.
Vytvořit sešit a zapisovat buňky
NewWorkbook() vrací sešit s již přítomným jedním listem. Zapište hodnoty pomocí 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("outputfiles/inventory.xlsx")Načíst buňky zpět
Cells().Get(ref) vrací *Cell pro odkaz spolu s chybou, pokud je odkaz neplatný:
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)Použijte Cells().All() k vypsání každé vyplněné buňky ve sbírce, když potřebujete iterovat přes celý list.
Přidat vzorec
Cell.SetFormula ukládá řetězec vzorce do buňky. Nejprve vytvořte buňku pomocí Set, pak připojte vzorec — vzorec je vyhodnocen aplikací Excel nebo LibreOffice při otevření, nikoli knihovnou:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")Vytvořit tabulku nad daty
Jakmile je váš rozsah dat naplněn, Worksheet.AddTable jej převede na strukturovanou, pojmenovanou tabulku:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("A2", "Widget A")
tbl := ws.AddTable("A1:C2")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"
fmt.Printf("Created table %q covering %s\n", tbl.Name, tbl.Range)Exportovat do CSV
Workbook.ExportToCSV zapíše zadaný index listu do souboru CSV s oddělovačem dle vašeho výběru:
wb := cells_foss.NewWorkbook()
if err := wb.ExportToCSV(0, "outputfiles/inventory.csv", ','); err != nil {
fmt.Fprintf(os.Stderr, "Error exporting: %v\n", err)
os.Exit(1)
}V opačném směru Workbook.ImportFromCSV(path, sheetName, delimiter) načte soubor CSV do pojmenovaného listu.
Odstranit buňku
Cells().Remove(ref) vymaže hodnotu buňky:
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)
}Tipy a osvědčené postupy
- Vytvořte buňku pomocí
Setpřed volánímSetFormulana ní —SetFormulapracuje s existující*Cell, ne s pouhým referenčním řetězcem. - Při exportu sešitu, který obsahuje více listů, parametr indexu listu
ExportToCSVurčuje, který list se exportuje — index0je první list. - Použijte
Cells().All()pro iteraci zaměřenou na čtení celého listu místo voláníGetv cyklu přes všechny možné reference.
Časté problémy
| Issue | Cause | Opravit |
|---|---|---|
SetFormula nemá žádný vliv | Voláno na odkaz buňky, který nebyl nejprve vytvořen pomocí Set | Zavolejte ws.Cells().Set(ref, nil) pro vytvoření buňky, pak ji Get a zavolejte SetFormula |
| Export CSV je prázdný nebo obsahuje nesprávný list | Nesprávný index listu předán do ExportToCSV | Ověřte, že index odpovídá požadované pozici listu v Workbook.Worksheets |
Get vrací chybu | Odkaz na buňku neexistuje v kolekci | Potvrďte, že odkaz byl dříve nastaven pomocí Set, nebo výslovně ošetřete případ „not found“ explicitně |
FAQ
Maže Cells().Remove celý řádek nebo sloupec?
Ne — vymaže hodnotu jedné buňky na zadaném odkazu.
Mohu vytvořit tabulku nad rozsahem, který již má sloupec s formulí?
Ano — AddTable pracuje s rozsahem buněk tak, jak je napsáno; formule v rozsahu jsou zachovány.
API Reference Shrnutí
| Třída / Metoda | Popis: |
|---|---|
Workbook.NewWorkbook | Vytvořte nový sešit s jedním listem |
Cells.Set / Get / Remove / All | Zapisovat, číst, odstraňovat a procházet buňky |
Cell.SetFormula / GetFormula | Připojit a přečíst řetězec vzorce |
Worksheet.AddTable | Vytvořit strukturovanou tabulku nad rozsahem buněk |
Workbook.ExportToCSV / ImportFromCSV | Převod mezi XLSX a CSV |
Viz také:
- Přehled funkcí: Formátování, validace dat, tabulky, obrázky a streamování
- Aspose.Cells — Enterprise Product Family
- Aspose.Cells — Enterprise Documentation