Praca z warstwą modelu skoroszytu

Praca z warstwą modelu skoroszytu

Praca z warstwą modelu skoroszytu

Pod API skierowanym do użytkownika, crate utrzymuje warstwę modelu danych w postaci czystych struktur, która odzwierciedla pakiet XLSX: struktury wartości, modele reguł i wspólne przechowywanie. Większość aplikacji nigdy nie dotyka tych typów bezpośrednio, ale pojawiają się, gdy dokładnie przeglądasz załadowane skoroszyty lub przyczyniasz się do samego crate.


Typy wartości

ColorValue zawiera komponenty koloru ARGB jako zwykłe pola a, r, g, b, z equals i get_hash_code do porównań. Formatowanie liczb na poziomie modelu znajduje się w NumberFormatValue, które obsługuje clone do kopiowania definicji formatów pomiędzy rekordami modelu.


Modele reguł

Reguły jakości danych mają modelowe bliźniaki: ValidationModel udostępnia areas, validation_type, alert_style, operator reguły oraz wyrażenia formula1 / formula2 jako pola; FormatConditionModel i ConditionalFormattingModel pełnią tę samą rolę dla rekordów formatowania warunkowego. Są one konstruowane przy użyciu default i wypełniane pole po polu.


Wspólne przechowywanie ciągów

Pliki XLSX przechowują powtarzający się tekst komórek w tabeli shared-strings. SharedStringRepository modeluje to jako internowanie:

  • intern dodaje ciąg znaków i zwraca jego indeks (ponownie wykorzystując istniejące wpisy),
  • try_get_value odtwarza indeks do jego ciągu znaków,
  • clear resetuje repozytorium.

Diagnostics

DiagnosticBag gromadzi ustrukturyzowane problemy za pośrednictwem add podczas operacji modelu. Na poziomie API te same informacje docierają do Ciebie poprzez LoadDiagnostics podczas ładowania skoroszytów — zobacz Przegląd funkcji.


Wskazówki i najlepsze praktyki

  • Preferuj interfejs skierowany do użytkownika API (Workbook, Worksheet, kolekcje komórek) — warstwa modelu nie jest potrzebna do rutynowej pracy z arkuszami kalkulacyjnymi.
  • Traktuj struktury modelu jako rekordy danych: utwórz je przy użyciu default, a potem ustaw pola jawnie.
  • Podczas badania uszkodzonych plików połącz flagi naprawy LoadOptions z diagnostyką zgłaszaną przez ładowarkę.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Zduplikowane współdzielone ciągiOmijanie interneraPrzekieruj tekst przez SharedStringRepository.intern
Reguła walidacji zignorowanaPola modelu niekompletneUstaw validation_type, operator i formula1 na ValidationModel

FAQ

Czy potrzebuję warstwy modelu do zapisywania arkuszy kalkulacyjnych?

Nie. Workbook API obejmuje tworzenie, edytowanie i zapisywanie skoroszytów; warstwa modelu jest ich podstawą.

Dlaczego struktury modelu używają konstruktorów default?

Są to zwykłe rekordy danych odzwierciedlające struktury XLSX — default dostarcza pusty rekord, który wypełniasz pole po polu.


API Reference Podsumowanie

Klasa/MetodaOpis
ColorValueRekord koloru ARGB (a, r, g, b)
NumberFormatValue.cloneSkopiuj definicję formatu liczby
ValidationModelRekord reguły walidacji (obszary, operator, formuły)
FormatConditionModel.defaultPusty rekord reguły formatowania warunkowego
SharedStringRepository.internZainternuj ciąg znaków, zwracając jego indeks
SharedStringRepository.try_get_valueRozwiąż zinternowany indeks
DiagnosticBag.addZapisz ustrukturyzowaną diagnostykę

Zobacz także

 Polski