Práce se správou tabulek

Práce se správou tabulek

Správa tabulek pokrývá každodenní objektový povrch crate: pracovní listy, kolekce buněk, typované hodnoty, vzorce, stylování a strukturační funkce, které dělají sešit použivatelným. Vstupní bod je vždy Workbook.


Worksheets

Listy jsou spravovány prostřednictvím kolekcí pracovních listů sešitu — přístup ke čtení přes get_worksheets, mutace přes get_worksheets_mut. Listy jsou adresovány podle indexu (get(0)) nebo názvu (get_by_name), přejmenovány pomocí set_name a přidány pomocí add_worksheet:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Data")?;
}

Přístup k buňkám a typované hodnoty

Buňky jsou adresovány ve stylu A1 nebo numericky. get_by_index(row, column) vyhovuje generovaným rozvržením:

let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
for month in 1..=12_u32 {
    cells
        .get_by_index(month, 0)
        .put_value_string(format!("Month {month}"))?;
}

Při čtení zpět display_string_value vrací zobrazovaný text a value_type uvádí uložený typ.


Vzorce s uloženými výsledky

cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
    .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;

Uložená hodnota je to, co Excel zobrazí před jeho prvním přepočtem—poskytněte ji, aby uživatelé souboru okamžitě viděli správné výsledky.


Styling

CellStyle agreguje Font, Fill a Borders; StyleFlag určuje, které aspekty stylu se aktualizací použijí, takže existující formátování zůstane zachováno tam, kde jej nepřepíšete. NumberFormat řídí, jak se hodnoty zobrazují.


Nastavení stránky a navigace

PageSetup spravuje rozvržení tisku: PaperSizeType, PageOrientationType a okraje. FreezePane udržuje řádky záhlaví viditelné při posouvání a viditelnost řádků a sloupců využívá VisibilityType.


Struktura: Tabulky, názvy, komentáře, hypertextové odkazy

  • ListObject převádí oblast na strukturovanou tabulku s TableStyleType stylingem a TotalsCalculation řádky součtů.
  • DefinedName a DefinedNameCollection spravují pojmenované rozsahy.
  • Comment / CommentCollection a Hyperlink / HyperlinkCollection pokrývají anotaci a navigaci.

Tipy a osvědčené postupy

  • Uchovávejte mutabilní půjčky (get_worksheets_mut, get_cells_mut) uvnitř blokového rozsahu; uložte sešit po uzavření bloku.
  • Použijte get_by_index pro smyčky a generované rozvržení; názvy A1 pro pevné pozice.
  • Aplikujte styly pomocí StyleFlag, aby se neovlivnilo nesouvisející formátování.
  • Pojmenujte důležité rozsahy pomocí DefinedName místo pevného kódování adres.

Běžné problémy

ProblémPříčinaOprava
Chyba při půjčování při ukládání sešituMutabilní půjčka listu stále aktivníUzavřete blok rozsahu před voláním save
Vzorec zobrazuje 0 v ExceluNebyla poskytnuta žádná kešovaná hodnotaPoužijte put_formula_with_cached_value s očekávaným výsledkem
List nebyl nalezenNeshoda názvuAdresu podle indexu nebo zkontrolujte pravopis set_name

FAQ

Jak přidám druhý list?

Zavolejte add_worksheet na sešitu, pak jej načtěte přes kolekci listů podle indexu nebo názvu.

Mohu číst a zapisovat v jednom průchodu?

Ano — načtěte pomocí Workbook::load_xlsx, upravujte přes get_worksheets_mut a save do stejné nebo nové cesty.

Převádějí typované settery hodnoty?

Neprovádějí se žádné konverze: každý setter put_value_* ukládá svůj nativní typ; display_string_value při čtení vykreslí zobrazovaný text.


API Reference Shrnutí

Třída/metodaPopis:
Workbook.add_worksheetPřidejte list do sešitu
Worksheet.set_namePřejmenovat list
Worksheet.get_cells_mutMěnitelná kolekce buněk
CellMut.put_value_stringNastavovač typovaného řetězce
CellMut.put_formula_with_cached_valueVzorec plus uložený výsledek
CellStyleFormátování písma, výplně a okrajů
StyleFlagVybere, které aspekty stylu se použijí
PageSetupTisk a rozvržení stránky
ListObjectStrukturované tabulky

Viz také:

 Čeština