Trabalhando com a Camada de Modelo de Workbook

Trabalhando com a Camada de Modelo de Workbook

Trabalhando com a Camada de Modelo da Pasta de Trabalho

Abaixo da interface voltada ao usuário API, o crate mantém uma camada de modelo de dados simples que espelha o pacote XLSX: structs de valor, modelos de regras e armazenamento compartilhado. A maioria das aplicações nunca manipula esses tipos diretamente, mas eles aparecem quando você inspeciona pastas de trabalho carregadas em profundidade ou contribui para o próprio crate.


Tipos de Valor

ColorValue transporta componentes de cor ARGB como campos simples a, r, g, b, com equals e get_hash_code para comparações. A formatação numérica no nível do modelo reside em NumberFormatValue, que suporta clone para copiar definições de formato entre registros de modelo.


Modelos de Regra

As regras de qualidade de dados têm gêmeos de modelo: ValidationModel expõe os areas, validation_type, alert_style, operator da regra, e as expressões formula1 / formula2 como campos; FormatConditionModel e ConditionalFormattingModel desempenham o mesmo papel para registros de formatação condicional. Estes são construídos com default e preenchidos campo a campo.


Armazenamento de Strings Compartilhadas

Arquivos XLSX armazenam texto de célula repetido em uma tabela shared-strings. O SharedStringRepository modela isso como um interner:

  • intern adiciona uma string e retorna seu índice (reutilizando entradas existentes),
  • try_get_value resolve um índice de volta para sua string,
  • clear reinicia o repositório.

Diagnostics

DiagnosticBag coleta problemas estruturados via add durante as operações do modelo. No nível API a mesma informação chega até você através de LoadDiagnostics ao carregar workbooks — veja Visão geral dos recursos.


Dicas e Melhores Práticas

  • Prefira o API voltado ao usuário (Workbook, Worksheet, coleções de células) — a camada de modelo não é necessária para trabalhos rotineiros com planilhas.
  • Trate structs de modelo como registros de dados: construa com default, então defina os campos explicitamente.
  • Ao investigar arquivos malformados, combine as flags de reparo LoadOptions com os diagnósticos que o carregador relata.

Problemas Comuns

ProblemaCausaCorreção
Strings compartilhadas duplicadasContornando o internerEncaminhar texto através de SharedStringRepository.intern
Regra de validação ignoradaCampos do modelo incompletosDefina validation_type, operator e formula1 em ValidationModel

FAQ

Preciso da camada de modelo para escrever planilhas?

Não. O Workbook API cobre a criação, edição e salvamento de pastas de trabalho; a camada de modelo a sustenta.

Por que structs de modelo utilizam construtores default?

São registros de dados simples que espelham as estruturas XLSX — default fornece um registro vazio que você preenche campo a campo.


API Reference Resumo

Classe/MétodoDescrição
ColorValueRegistro de cor ARGB (a, r, g, b)
NumberFormatValue.cloneCopiar uma definição de formato numérico
ValidationModelRegistro de regra de validação (áreas, operador, fórmulas)
FormatConditionModel.defaultRegistro de regra de formatação condicional vazio
SharedStringRepository.internInternar uma string, retornando seu índice
SharedStringRepository.try_get_valueResolver um índice internado
DiagnosticBag.addRegistrar um diagnóstico estruturado

Ver também

 Português