Arbeta med kalkylbladsadministration

Arbeta med kalkylbladsadministration

Arbeta med kalkylbladsadministration

Kalkylbladsadministration täcker den dagliga objektytan i paketet: arbetsblad, cellsamlingar, typade värden, formler, formatering och de strukturella funktionerna som gör en arbetsbok användbar. Ingångspunkten är alltid en Workbook.


Worksheets

Arbetsblad hanteras via arbetsbokens samlingar av arbetsblad — läsåtkomst via get_worksheets, mutation via get_worksheets_mut. Arbetsblad adresseras med index (get(0)) eller namn (get_by_name), byts namn med set_name, och läggs till med add_worksheet:

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

Cellåtkomst och typade värden

Celler adresseras i A1-stil eller numeriskt. get_by_index(row, column) passar genererade layouter:

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

Vid återläsning returnerar display_string_value visningstexten och value_type rapporterar den lagrade typen.


Formler med cachade resultat

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

Det cachade värdet är det som Excel visar innan den första omräkningen — tillhandahåll det så att filens mottagare ser korrekta resultat omedelbart.


Styling

CellStyle aggregerar Font, Fill och Borders; StyleFlag styr vilka stilaspekter en uppdatering tillämpas på, så att befintlig formatering bevaras där du inte åsidosätter den. NumberFormat styr hur värden renderas.


Sidinställning och navigering

PageSetup hanterar utskriftslayout: PaperSizeType, PageOrientationType och marginaler. FreezePane håller rubrikrader synliga vid rullning, och rad- och kolumnsynlighet använder VisibilityType.


Struktur: Tabeller, Namn, Kommentarer, Hyperlänkar

  • ListObject omvandlar ett område till en strukturerad tabell med TableStyleType stil och TotalsCalculation totalrader.
  • DefinedName och DefinedNameCollection hanterar namngivna områden.
  • Comment / CommentCollection och Hyperlink / HyperlinkCollection täcker annotering och navigering.

Tips och bästa praxis

  • Behåll muterbara lån (get_worksheets_mut, get_cells_mut) inom ett scope-block; spara arbetsboken när blocket stängs.
  • Använd get_by_index för slingor och genererade layouter; A1-namn för fasta positioner.
  • Applicera stilar med en StyleFlag så att orelaterad formatering lämnas orörd.
  • Namnge viktiga områden med DefinedName istället för att hårdkoda adresser.

Vanliga problem

ProblemOrsakÅtgärd
Utlåningsfel vid sparande av arbetsbokenUtlåning av muterbart arbetsblad är fortfarande aktivStäng scope-blocket innan du anropar save
Formeln visar 0 i ExcelInget cachat värde angivetAnvänd put_formula_with_cached_value med det förväntade resultatet
Blad hittades inteNamnet matchar inteAdress med index eller kontrollera stavningen av set_name

FAQ

Hur lägger jag till ett andra arbetsblad?

Anropa add_worksheet på arbetsboken, hämta sedan den via arbetsbladsamlingen efter index eller namn.

Kan jag läsa och skriva i samma pass?

Ja — ladda med Workbook::load_xlsx, mutera via get_worksheets_mut och save till samma eller en ny sökväg.

Konverterar typade setterna värden?

Inga konverteringar tillämpas: varje put_value_* setter lagrar sin ursprungliga typ; display_string_value renderar displaytexten vid läsning.


API Reference Sammanfattning

Klass/MetodBeskrivning
Workbook.add_worksheetLägg till ett blad i arbetsboken
Worksheet.set_nameByt namn på ett blad
Worksheet.get_cells_mutÄndringsbar cellsamling
CellMut.put_value_stringTypad strängsättare
CellMut.put_formula_with_cached_valueFormel plus cachat resultat
CellStyleTeckensnitt, fyllning och kantformatering
StyleFlagVäljer vilka stilaspekter som tillämpas
PageSetupUtskrift och sidlayout
ListObjectStrukturerade tabeller

Se även

 Svenska