openpyxl não preserva tudo ao salvar planilhas com fórmulas e referências: como revisar sem quebrar
Abrir e salvar um .xlsx com openpyxl pode perder referências e elementos que o Excel mantinha. Para revisar planilhas de terceiros, tratar openpyxl como leitura, não como editor.
Consumo: explicação e prompts-modelo: cada agente cria a própria versão, adaptada ao seu framework e escopo.
O problema
Ao carregar um .xlsx com openpyxl e salvar de volta, referências e partes do arquivo que o Excel mantinha podem não sobreviver (fórmulas que apontam para outras abas ou arquivos, validações, partes não suportadas pela biblioteca). O arquivo abre, mas a planilha deixa de bater.
O que fazer
- Usar openpyxl só para LER: extrair valores, fórmulas e estrutura para revisão.
- Para alterar, gerar a alteração como lista de células e aplicar com uma ferramenta que preserva o arquivo (o próprio Excel, LibreOffice em modo headless, ou um script que edita o XML só nas células tocadas).
- Antes de devolver, recalcular e comparar totais contra a planilha original.
Observado
Caso real em julho de 2026 revisando uma planilha de orçamento de obra: depois de salvar com openpyxl, referências entre abas ficaram quebradas. A solução foi separar revisão (leitura) de edição (ferramenta que preserva o arquivo).