Werken met Spreadsheet Management

Werken met Spreadsheet Management

Werken met Spreadsheetbeheer

Spreadsheetbeheer omvat de alledaagse objectlaag van de crate: werkbladen, celverzamelingen, getypeerde waarden, formules, opmaak en de structurele kenmerken die een werkmap bruikbaar maken. Het toegangspunt is altijd een Workbook.


Worksheets

Bladen worden beheerd via de werkmap-werkbladcollecties — lees-toegang via get_worksheets, mutatie via get_worksheets_mut. Bladen worden aangesproken op index (get(0)) of naam (get_by_name), hernoemd met set_name, en toegevoegd met add_worksheet:

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

Celtoegang en getypeerde waarden

Cellen worden aangesproken in A1-stijl of numeriek. get_by_index(row, column) is geschikt voor gegenereerde lay-outs:

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}"))?;
}

Bij het teruglezen geeft display_string_value de weergavetekst terug en meldt value_type het opgeslagen type.


Formules met gecachte resultaten

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

De gecachte waarde is wat Excel weergeeft vóór de eerste herberekening — lever deze aan zodat gebruikers van het bestand onmiddellijk de juiste resultaten zien.


Styling

CellStyle aggregeert Font, Fill en Borders; StyleFlag bepaalt welke stijlaspecten een update toepast, zodat bestaande opmaak behouden blijft waar je deze niet overschrijft. NumberFormat regelt hoe waarden worden weergegeven.


Pagina-instelling en navigatie

PageSetup beheert de afdruklay-out: PaperSizeType, PageOrientationType en marges. FreezePane houdt koprijen zichtbaar tijdens het scrollen, en de zichtbaarheid van rijen en kolommen maakt gebruik van VisibilityType.


Structuur: Tabellen, Namen, Opmerkingen, Hyperlinks

  • ListObject zet een bereik om in een gestructureerde tabel met TableStyleType opmaak en TotalsCalculation totalenrijen.
  • DefinedName en DefinedNameCollection beheren benoemde bereiken.
  • Comment / CommentCollection en Hyperlink / HyperlinkCollection behandelen annotatie en navigatie.

Tips en best practices

  • Houd mutabele leningen (get_worksheets_mut, get_cells_mut) binnen een scope-blok; sla het werkboek op nadat het blok is gesloten.
  • Gebruik get_by_index voor lussen en gegenereerde lay-outs; A1-namen voor vaste posities.
  • Pas stijlen toe met een StyleFlag zodat niet-gerelateerde opmaak onaangeroerd blijft.
  • Naam belangrijke bereiken met DefinedName in plaats van adressen hard-gecodeerd.

Algemene problemen

ProbleemOorzaakOplossing
Leenfout bij het opslaan van de werkmapMutable werkblad-leen nog steeds actiefSluit het scope-blok voordat u save aanroept
Formule toont 0 in ExcelGeen gecachte waarde opgegevenGebruik put_formula_with_cached_value met het verwachte resultaat
Werkblad niet gevondenNaam komt niet overeenAdres op index of controleer de spelling van set_name

FAQ

Hoe voeg ik een tweede werkblad toe?

Roep add_worksheet aan op de werkmap, haal het vervolgens op via de werkbladcollectie op index of naam.

Kan ik lezen en schrijven in dezelfde doorloop?

Ja — laad met Workbook::load_xlsx, wijzig via get_worksheets_mut, en save naar hetzelfde of een nieuw pad.

Converteren getypeerde setters waarden?

Er worden geen conversies toegepast: elke put_value_* setter slaat zijn native type op; display_string_value rendert de weergavetekst bij het lezen.


API Reference Samenvatting

Klasse/MethodeBeschrijving
Workbook.add_worksheetVoeg een werkblad toe aan het werkboek
Worksheet.set_nameHernoem een werkblad
Worksheet.get_cells_mutAanpasbare celverzameling
CellMut.put_value_stringGetypeerde tekenreekssetter
CellMut.put_formula_with_cached_valueFormule plus gecachede resultaat
CellStyleLettertype-, opvul- en randopmaak
StyleFlagSelecteert welke stijlaspecten van toepassing zijn
PageSetupAfdrukken en paginavormgeving
ListObjectGestructureerde tabellen

Zie ook

 Nederlands