Робота з шаром моделі робочої книги

Робота з шаром моделі робочої книги

Робота з модельним шаром книги

Під користувацьким інтерфейсом API, crate зберігає простий шар моделі даних, що відображає пакет XLSX: структури значень, моделі правил та спільне сховище. Більшість застосунків ніколи не працюють безпосередньо з цими типами, проте вони з’являються, коли ви глибоко досліджуєте завантажені книги або робите внесок у сам crate.


Типи значень

ColorValue містить компоненти кольору ARGB як прості поля a, r, g, b, з equals та get_hash_code для порівнянь. Форматування чисел на рівні моделі розташоване в NumberFormatValue, яке підтримує clone для копіювання визначень форматів між записами моделі.


Моделі правил

Правила якості даних мають модельні двійники: ValidationModel відкриває areas, validation_type, alert_style, operator правила, а також вирази formula1 / formula2 як поля; FormatConditionModel і ConditionalFormattingModel виконують ту ж роль для записів умовного форматування. Вони конструюються за допомогою default і заповнюються поле за полем.


Сховище спільних рядків

Файли XLSX зберігають повторюваний текст клітинок у таблиці shared-strings. SharedStringRepository моделює її як інтернер:

  • intern додає рядок і повертає його індекс (повторно використовуючи існуючі записи),
  • try_get_value перетворює індекс назад у рядок,
  • clear скидає репозиторій.

Diagnostics

DiagnosticBag збирає структуровані проблеми через add під час операцій моделі. На рівні API та сама інформація надходить до вас через LoadDiagnostics при завантаженні робочих книг — дивіться Огляд функцій.


Поради та кращі практики

  • Надавайте перевагу орієнтованому на користувача API (Workbook, Worksheet, колекціям клітинок) — рівень моделі не потрібен для рутинної роботи з електронними таблицями.
  • Ставте структури моделей як запис даних: створюйте їх за допомогою default, а потім явно встановлюйте поля.
  • При дослідженні пошкоджених файлів поєднуйте прапорці відновлення LoadOptions з діагностикою, яку повідомляє завантажувач.

Типові проблеми

ПроблемаПричинаВиправлення
Дубльовані спільні рядкиОбхід інтернераМаршрутизувати текст через SharedStringRepository.intern
Правило валідації проігнорованоПоля моделі неповніВстановити validation_type, operator та formula1 на ValidationModel

FAQ

Чи потрібен мені шар моделі для запису електронних таблиць?

Ні. Workbook API охоплює створення, редагування та збереження робочих книг; шар моделі підтримує це.

Чому структури моделей використовують конструктори default?

Вони — прості записи даних, що відображають структури XLSX — default надає порожній запис, який ви заповнюєте поле за полем.


API Reference Підсумок

Клас/МетодОпис
ColorValueARGB запис кольору (a, r, g, b)
NumberFormatValue.cloneСкопіювати визначення числового формату
ValidationModelЗапис правила перевірки (області, оператор, формули)
FormatConditionModel.defaultПорожній запис правила умовного форматування
SharedStringRepository.internІнтернувати рядок, повертаючи його індекс
SharedStringRepository.try_get_valueРозв’язати інтернований індекс
DiagnosticBag.addЗаписати структуровану діагностику

Дивіться також

 Українська