Lucrul cu gestionarea foilor de calcul

Lucrul cu gestionarea foilor de calcul

Lucrul cu gestionarea foilor de calcul

Gestionarea foilor de calcul acoperă suprafața de obiecte de zi cu zi a crate-ului: foi de lucru, colecții de celule, valori tipizate, formule, stiluri și caracteristicile structurale care fac un workbook utilizabil. Punctul de intrare este întotdeauna un Workbook.


Worksheets

Foi sunt gestionate prin colecțiile de foi de lucru ale workbook-ului — acces de citire prin get_worksheets, modificare prin get_worksheets_mut. Foi sunt adresate prin index (get(0)) sau nume (get_by_name), redenumite cu set_name și adăugate cu add_worksheet:

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

Acces la celule și valori tipizate

Celulele sunt adresate în stil A1 sau numeric. get_by_index(row, column) se potrivește cu aranjamentele generate:

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

La citire, display_string_value returnează textul afișat și value_type raportează tipul stocat.


Formule cu rezultate în cache

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

Valoarea în cache este cea pe care Excel o afișează înainte de prima recalculare — furnizați-o pentru ca utilizatorii fișierului să vadă rezultatele corecte imediat.


Styling

CellStyle agregă Font, Fill și Borders; StyleFlag controlează ce aspecte de stil se aplică la o actualizare, astfel încât formatarea existentă este păstrată acolo unde nu o suprascrieți. NumberFormat guvernează modul în care valorile sunt redate.


Configurare pagină și navigare

PageSetup gestionează aspectul tipăririi: PaperSizeType, PageOrientationType și margini. FreezePane menține rândurile de antet vizibile în timpul derulării, iar vizibilitatea rândurilor și coloanelor folosește VisibilityType.


Structură: Tabele, Nume, Comentarii, Legături hipertext

  • ListObject transformă un interval într-un tabel structurat cu stil TableStyleType și rânduri de totaluri TotalsCalculation.
  • DefinedName și DefinedNameCollection gestionează intervale numite.
  • Comment / CommentCollection și Hyperlink / HyperlinkCollection acoperă adnotarea și navigarea.

Sfaturi și cele mai bune practici

  • Păstrează împrumuturile mutabile (get_worksheets_mut, get_cells_mut) în interiorul unui bloc de scop; salvează registrul de lucru după închiderea blocului.
  • Folosește get_by_index pentru bucle și aranjamente generate; nume A1 pentru poziții fixe.
  • Aplică stiluri cu un StyleFlag astfel încât formatarea necorespunzătoare să rămână neatinsă.
  • Denumește intervalele importante cu DefinedName în loc să codifici manual adresele.

Probleme comune

ProblemăCauzăRemediere
Eroare de împrumut la salvarea registruluiÎmprumutul mutabil al foii de calcul este încă activÎnchide blocul de scop înainte de a apela save
Formula afișează 0 în ExcelNicio valoare în cache furnizatăUtilizați put_formula_with_cached_value cu rezultatul așteptat
Foaia nu a fost găsităNumele nu se potriveșteAdresați prin index sau verificați ortografia set_name

FAQ

Cum pot adăuga o a doua foaie de lucru?

Apelă add_worksheet pe registrul de lucru, apoi recupereaz-o prin colecția de foi de lucru după index sau nume.

Pot citi și scrie în aceeași trecere?

Da — încarcă cu Workbook::load_xlsx, modifică prin get_worksheets_mut și save către aceeași sau o nouă cale.

Setatoarele tipizate convertesc valorile?

Nu se aplică nicio conversie: fiecare setator put_value_* stochează tipul său nativ; display_string_value redă textul afișat la citire.


API Reference Rezumat

Clasă/MetodăDescriere:
Workbook.add_worksheetAdăugați o foaie în registrul de lucru
Worksheet.set_nameRedenumește o foaie
Worksheet.get_cells_mutColecție de celule mutabilă
CellMut.put_value_stringSetter de șir tipizat
CellMut.put_formula_with_cached_valueFormula plus rezultat în cache
CellStyleFormatare font, umplere și bordură
StyleFlagSelectează ce aspecte de stil se aplică
PageSetupImprimare și aspect pagină
ListObjectTabele structurate

Vezi și:

 Română