Lavorare con la Gestione dei Fogli di Calcolo

Lavorare con la Gestione dei Fogli di Calcolo

Lavorare con la gestione dei fogli di calcolo

La gestione dei fogli di calcolo copre la superficie quotidiana dell’oggetto del crate: fogli di lavoro, raccolte di celle, valori tipizzati, formule, stile e le funzionalità strutturali che rendono un workbook utilizzabile. Il punto di ingresso è sempre un Workbook.


Worksheets

I fogli sono gestiti tramite le collezioni di fogli di lavoro del workbook — accesso in lettura tramite get_worksheets, mutazione tramite get_worksheets_mut. I fogli sono indicizzati per indice (get(0)) o nome (get_by_name), rinominati con set_name e aggiunti con add_worksheet:

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

Accesso alle celle e valori tipizzati

Le celle sono indirizzate in stile A1 o numericamente. get_by_index(row, column) è adatto a layout generati:

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

Leggendo indietro, display_string_value restituisce il testo visualizzato e value_type riporta il tipo memorizzato.


Formule con risultati nella cache

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

Il valore nella cache è ciò che Excel visualizza prima del primo ricalcolo — fornisci il valore in modo che i consumatori del file vedano i risultati corretti immediatamente.


Styling

CellStyle aggrega Font, Fill e Borders; StyleFlag controlla quali aspetti di stile applica un aggiornamento, così la formattazione esistente viene preservata dove non la sovrascrivi. NumberFormat governa il modo in cui i valori vengono visualizzati.


Impostazione pagina e navigazione

PageSetup gestisce il layout di stampa: PaperSizeType, PageOrientationType e i margini. FreezePane mantiene le righe di intestazione visibili durante lo scorrimento, e la visibilità di righe e colonne utilizza VisibilityType.


Struttura: tabelle, nomi, commenti, collegamenti ipertestuali

  • ListObject trasforma un intervallo in una tabella strutturata con TableStyleType stile e TotalsCalculation righe totali.
  • DefinedName e DefinedNameCollection gestiscono gli intervalli denominati.
  • Comment / CommentCollection e Hyperlink / HyperlinkCollection coprono l’annotazione e la navigazione.

Suggerimenti e migliori pratiche

  • Mantieni i prestiti mutabili (get_worksheets_mut, get_cells_mut) all’interno di un blocco di scope; salva la cartella di lavoro dopo la chiusura del blocco.
  • Usa get_by_index per i cicli e i layout generati; nomi A1 per posizioni fisse.
  • Applica gli stili con un StyleFlag in modo che la formattazione non correlata rimanga intatta.
  • Nomina gli intervalli importanti con DefinedName invece di codificare gli indirizzi in modo rigido.

Problemi comuni

ProblemaCausaCorrezione
Errore di borrow nel salvataggio della cartella di lavoroIl borrow mutabile del foglio di lavoro è ancora attivoChiudi il blocco di ambito prima di chiamare save
La formula mostra 0 in ExcelNessun valore in cache fornitoUsa put_formula_with_cached_value con il risultato previsto
Foglio non trovatoNome non corrispondenteIndirizza per indice o controlla l’ortografia di set_name

FAQ

Come aggiungo un secondo foglio di lavoro?

Chiama add_worksheet sul workbook, poi recuperalo tramite la collezione di worksheet per indice o nome.

Posso leggere e scrivere nello stesso passaggio?

Sì — carica con Workbook::load_xlsx, modifica tramite get_worksheets_mut e save nello stesso percorso o in uno nuovo.

I setter tipizzati convertono i valori?

Non vengono applicate conversioni: ogni setter put_value_* memorizza il suo tipo nativo; display_string_value rende il testo visualizzato in lettura.


API Reference Riepilogo

Classe/MetodoDescrizione
Workbook.add_worksheetAggiungi un foglio alla cartella di lavoro
Worksheet.set_nameRinomina un foglio
Worksheet.get_cells_mutRaccolta di celle mutabile
CellMut.put_value_stringImpostatore di stringa tipizzata
CellMut.put_formula_with_cached_valueFormula più risultato memorizzato
CellStyleFormattazione di carattere, riempimento e bordi
StyleFlagSeleziona quali aspetti dello stile si applicano
PageSetupStampa e layout di pagina
ListObjectTabelle strutturate

Vedi anche

 Italiano