Files
camilafagundes 419325db12
ci / verify (push) Has been cancelled
Inicio do Projeto Piloto
2026-10-02 23:59:36 -03:00

1.4 KiB

Revisão da biblioteca XLSX

Atual

Campo Valor
Biblioteca ExcelJS
Versão declarada 4.4.0
Licença MIT
Leitura workbook.xlsx.load, valor exibido em cell.text
Escrita Novo workbook, aba Adaptado, texto com formato @

Vantagens

MIT, já integrada, lê e escreve XLSX, não executa macro e não avalia fórmula. O arquivo modelo permanece o blob original; o processamento grava outra chave.

Limitações

Não preserva estilo, mesclagem, largura de coluna nem as outras abas do modelo no arquivo de saída. Datas e números saem como texto exibido. PDF continua truncado à parte. Arquivo protegido por senha cai em erro de estrutura.

Riscos

Trocar a biblioteca no piloto reabre a suíte de mapeamento sem ganho para o contrato atual: a saída é um artefato novo e o modelo é imutável.

Alternativas

SheetJS Community tem restrição de licença que exigiria revisão jurídica. Manter ExcelJS atrás de readSpreadsheet e buildXlsx permite trocar depois sem mudar o domínio.

Custo de migração

Alto para o piloto: fixtures, tipos, datas e o contrato de “não executar fórmula” teriam de ser revalidados. Não há blocker que obrigue a troca.

Recomendação

Manter ExcelJS 4.4.0 no piloto. Não criar uma segunda engine. Fixtures em tests/unit/xlsx-fixtures.test.ts cobrem várias abas, fórmula como texto, data, caractere especial e a imutabilidade do modelo.