Lucrul cu stratul de model Workbook
Lucrul cu stratul model al registrului de lucru
Sub API orientat spre utilizator, pachetul păstrează un strat de model cu date simple care reflectă pachetul XLSX: structuri de valori, modele de reguli și stocare partajată. Majoritatea aplicațiilor nu interacționează niciodată direct cu aceste tipuri, dar ele apar atunci când inspectaţi registrele de lucru încărcate în profunzime sau contribuiţi la pachetul în sine.
Tipuri de valori
ColorValue conţine componentele de culoare ARGB ca câmpuri simple a, r, g, b, cu equals și get_hash_code pentru comparaţii. Formatarea numerelor la nivel de model se găseşte în NumberFormatValue, care suportă clone pentru copierea definiţiilor de format între înregistrările modelului.
Modele de reguli
Regulile de calitate a datelor au gemeni de model: ValidationModel expune areas, validation_type, alert_style, operator ale regulii, precum şi expresiile formula1 / formula2 ca și câmpuri; FormatConditionModel și ConditionalFormattingModel au acelaşi rol pentru înregistrările de formatare condiţională. Acestea sunt construite cu default și completate câmp cu câmp.
Stocare de şiruri partajate
Fișierele XLSX stochează textul repetat al celulelor într-un tabel de șiruri partajate. SharedStringRepository îl modelează ca pe un interner:
internadaugă un șir și returnează indexul său (reutilizând intrările existente),try_get_valuerezolvă un index înapoi la șirul său,clearresetează depozitul.
Diagnostics
DiagnosticBag colectează probleme structurate prin add în timpul operațiunilor modelului. La nivelul API aceeași informație ajunge la tine prin LoadDiagnostics când se încarcă cărțile de lucru — vezi Prezentare generală a funcțiilor.
Sfaturi și cele mai bune practici
- Preferă API orientat către utilizator (
Workbook,Worksheet, colecții de celule) — stratul de model nu este necesar pentru munca obișnuită cu foi de calcul. - Tratează structurile model ca înregistrări de date: construiește-le cu
default, apoi setează câmpurile explicit. - Când investighezi fișierele malformate, combină flag-urile de reparare
LoadOptionscu diagnosticele raportate de loader.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
| Șiruri partajate duplicate | Ocolirea internerului | Rutează textul prin SharedStringRepository.intern |
| Regula de validare a fost ignorată | Câmpurile modelului sunt incomplete | Setează validation_type, operator și formula1 pe ValidationModel |
FAQ
Am nevoie de stratul de model pentru a scrie foi de calcul?
Nu. Workbook API acoperă crearea, editarea și salvarea cărților de lucru; model layer îl susține.
De ce structurile model utilizează constructori default?
Sunt înregistrări de date simple care reflectă structurile XLSX — default oferă o înregistrare goală pe care o populezi câmp cu câmp.
API Reference Rezumat
| Clasă/Metodă | Descriere: |
|---|---|
ColorValue | Înregistrare de culoare ARGB (a, r, g, b) |
NumberFormatValue.clone | Copiază o definiție de format numeric |
ValidationModel | Înregistrare regulă de validare (zone, operator, formule) |
FormatConditionModel.default | Înregistrare regulă de format condițional goală |
SharedStringRepository.intern | Internați un șir, returnând indicele său |
SharedStringRepository.try_get_value | Rezolvă un index internat |
DiagnosticBag.add | Înregistrează un diagnostic structurat |