Arbeta med Workbook Model Layer

Arbeta med Workbook Model Layer

Arbeta med arbetsbokens modellskikt

Under den användarorienterade API behåller crate ett enkelt datamodellskikt som speglar XLSX-paketet: värdestrukturer, regelmodeller och delad lagring. De flesta applikationer rör aldrig dessa typer direkt, men de dyker upp när du inspekterar inlästa arbetsböcker i detalj eller bidrar till crate själv.


Värdetyper

ColorValue bär ARGB-färgkomponenter som enkla a, r, g, b fält, med equals och get_hash_code för jämförelser. Nummerformat på modellnivå finns i NumberFormatValue, som stödjer clone för att kopiera formatdefinitioner mellan modellposter.


Regelmodeller

Datakvalitetsregler har modelltvillingar: ValidationModel exponerar regelns areas, validation_type, alert_style, operator och formula1 / formula2 uttryck som fält; FormatConditionModel och ConditionalFormattingModel spelar samma roll för villkorsformatposterna. Dessa konstrueras med default och fylls i fält för fält.


Delad stränglagring

XLSX-filer lagrar upprepad celltext i en shared-strings-tabell. SharedStringRepository modellerar det som en interner:

  • intern lägger till en sträng och returnerar dess index (återanvänder befintliga poster),
  • try_get_value slår upp ett index tillbaka till dess sträng,
  • clear återställer lagret.

Diagnostics

DiagnosticBag samlar strukturerade problem via add under modelloperationer. På API-nivå når samma information dig via LoadDiagnostics vid inläsning av arbetsböcker — se Översikt över funktioner.


Tips och bästa praxis

  • Föredra den användarorienterade API (Workbook, Worksheet, cellsamlingar) — modellagret behövs inte för rutinmässigt kalkylbladsarbete.
  • Behandla modellstrukturer som dataregister: konstruera med default, och sätt sedan fälten explicit.
  • När du undersöker felaktiga filer, kombinera LoadOptions reparationsflaggor med de diagnostikmeddelanden som laddaren rapporterar.

Vanliga problem

ProblemOrsakÅtgärd
Duplicerade delade strängarKringgår internerRouta text genom SharedStringRepository.intern
Valideringsregel ignoreradModellfält ofullständigaStäll in validation_type, operator och formula1 på ValidationModel

FAQ

Behöver jag modellagret för att skriva kalkylblad?

Nej. Workbook API täcker skapande, redigering och sparande av arbetsböcker; modellagret ligger till grund för det.

Varför använder modellstrukturer default-konstruktörer?

De är enkla dataregister som speglar XLSX-strukturer — default ger ett tomt register som du fyller i fält för fält.


API Reference Sammanfattning

Klass/MetodBeskrivning
ColorValueARGB-färgpost (a, r, g, b)
NumberFormatValue.cloneKopiera en nummerformatdefinition
ValidationModelValideringsregelpost (områden, operator, formler)
FormatConditionModel.defaultTom post för villkorsformatregel
SharedStringRepository.internInterna en sträng, returnerar dess index
SharedStringRepository.try_get_valueLös ett internerat index
DiagnosticBag.addRegistrera en strukturerad diagnostik

Se även

 Svenska