Lavorare con il livello del modello di cartella di lavoro
Lavorare con il livello modello del Workbook
Sotto il API rivolto all’utente, il crate mantiene un livello modello di dati semplici che rispecchia il pacchetto XLSX: strutture di valore, modelli di regole e archiviazione condivisa. La maggior parte delle applicazioni non tocca mai questi tipi direttamente, ma emergono quando si ispezionano i workbook caricati in profondità o si contribuisce al crate stesso.
Tipi di valore
ColorValue trasporta componenti di colore ARGB come semplici campi a, r, g, b, con equals e get_hash_code per i confronti. La formattazione dei numeri a livello di modello risiede in NumberFormatValue, che supporta clone per copiare le definizioni di formato tra i record del modello.
Modelli di regola
Le regole di qualità dei dati hanno gemelli modello: ValidationModel espone le areas, validation_type, alert_style, operator della regola, e le espressioni formula1 / formula2 come campi; FormatConditionModel e ConditionalFormattingModel svolgono lo stesso ruolo per i record di formattazione condizionale. Questi sono costruiti con default e popolati campo per campo.
Archiviazione di stringhe condivise
I file XLSX memorizzano il testo delle celle ripetuto in una tabella shared-strings. Il SharedStringRepository lo modella come un interner:
internaggiunge una stringa e restituisce il suo indice (riutilizzando le voci esistenti),try_get_valuerisolve un indice ritornando alla sua stringa,clearreimposta il repository.
Diagnostics
DiagnosticBag raccoglie problemi strutturati tramite add durante le operazioni del modello. A livello API le stesse informazioni ti arrivano tramite LoadDiagnostics quando si caricano i workbook — vedi Panoramica delle funzionalità.
Suggerimenti e buone pratiche
- Preferisci il API orientato all’utente (
Workbook,Worksheet, raccolte di celle) — lo strato modello non è necessario per le attività di foglio di calcolo di routine. - Tratta le struct del modello come record di dati: costruiscile con
default, poi imposta i campi esplicitamente. - Quando si indagano file malformati, combina i flag di riparazione
LoadOptionscon le diagnostiche riportate dal loader.
Problemi comuni
| Problema | Causa | Correzione |
|---|---|---|
| Stringhe condivise duplicate | Bypass dell’interner | Instrada il testo attraverso SharedStringRepository.intern |
| Regola di convalida ignorata | Campi del modello incompleti | Imposta validation_type, operator e formula1 su ValidationModel |
FAQ
Ho bisogno del livello modello per scrivere fogli di calcolo?
No. Il Workbook API copre la creazione, la modifica e il salvataggio delle cartelle di lavoro; il livello modello lo supporta.
Perché le struct del modello usano costruttori default?
Sono semplici record di dati che rispecchiano le strutture XLSX — default fornisce un record vuoto che popoliate campo per campo.
API Reference Riepilogo
| Classe/Metodo | Descrizione |
|---|---|
ColorValue | Record colore ARGB (a, r, g, b) |
NumberFormatValue.clone | Copia una definizione di formato numerico |
ValidationModel | Record della regola di convalida (aree, operatore, formule) |
FormatConditionModel.default | Record vuoto della regola di formato condizionale |
SharedStringRepository.intern | Interna una stringa, restituendo il suo indice |
SharedStringRepository.try_get_value | Risolvi un indice internato |
DiagnosticBag.add | Registra una diagnostica strutturata |