O ficheiro .ods que é válido e que o teu leitor recusa
Publicado a 15/09/2026 · 4 min de leitura · Ferramentas de ficheiros
Daniel Okonkwo — Programador front-end e redator de Tecnologia na OneKitly
Desempenho web · Formatos de ficheiro
Verificado a partir de 3 fontes
Um .ods é um arquivo zip que contém um punhado de ficheiros XML. A especificação exige muito poucos: um mimetype, um manifesto e um content.xml bastam para um documento de folha de cálculo válido, e o styles.xml é explicitamente facultativo. Os exportadores mínimos tomam a especificação à letra — scripts, geradores e vários conversores em linha escrevem exatamente essas três entradas e param. Alguns leitores recusam então o documento inteiro comunicando que não encontram styles.xml, o que parece uma mensagem de corrupção e não o é: o ficheiro está bom e o leitor é que é estrito. A correção aqui consiste em dar ao leitor o que ele reclama sem tocar naquilo a que veio. Quando um livro se recusa a abrir, os bytes são verificados para uma assinatura zip, descomprimidos, e se content.xml estiver presente enquanto styles.xml falta, é acrescentado um styles.xml mínimo mas válido e o arquivo é relido. Não acrescenta estilo nenhum — três contentores vazios satisfazem a exigência. A reparação é tentada uma só vez, e se falhar o erro original é levantado em vez de substituído, porque esconder «ficheiro cifrado» atrás de «ODS incompleto» manda-te procurar no sítio errado.
O OpenDocument torna styles.xml opcional. Vários leitores exigem-no e rejeitam o documento inteiro sem ele — «Cannot find file styles.xml in zip» sobre um ficheiro que não está partido.
Facultativo numa especificação não é facultativo na prática
É uma figura recorrente nos formatos de ficheiro, e convém reconhecê-la quando se encontra noutro sítio. Uma especificação diz que uma parte pode ser omitida; a implementação de referência escreve-a sempre; todos os leitores são então testados sobre ficheiros que a contêm sempre; e o carácter facultativo torna-se em silêncio teórico. O primeiro ficheiro que o exerce é assinalado como corrompido. A resposta honesta é aceitá-lo — o ficheiro cumpre a norma — e ao mesmo tempo escrever a parte que falta ao produzir um, porque um documento que só alguns leitores abrem é pior do que um com três contentores de estilos vazios que ninguém olha.
Que formato entregar
ODS quando a pessoa do outro lado trabalha com LibreOffice ou Collabora, quando uma administração pede um formato aberto, ou quando o ficheiro vai para um arquivo onde uma especificação documentada conta mais do que o programa que está na moda. XLSX quando o destinatário usa Excel ou uma cadeia empresarial construída à volta dele, que é o caso mais frequente. Ambos levam as mesmas coisas para tabelas correntes — células, folhas, fórmulas, formatos de número — e ambos são arquivos zip de XML: nenhum é hoje mais aberto do que o outro num sentido útil. Divergem nas margens: tabelas dinâmicas, macros e os tipos de gráfico mais exóticos sobrevivem ao seu próprio formato e não ao outro.
| Entrada do zip | Contém | Exigido pela especificação |
|---|---|---|
| mimetype | O tipo do documento, sem compressão e em primeiro | Sim |
| META-INF/manifest.xml | A lista das outras entradas | Sim |
| content.xml | As células, as folhas, os valores | Sim |
| styles.xml | Tipos, contornos, configuração de página | Não — e é o que é exigido |
| meta.xml, settings.xml | Autor, datas, posições de janela | Não |
Perguntas frequentes
- A reparação altera os meus dados?
- Não. Acrescenta uma entrada ao arquivo e deixa todas as outras byte a byte tal como estavam — content.xml, o manifesto e o mimetype não são tocados. O ficheiro acrescentado declara três contentores vazios e nenhum estilo: nada do aspeto do documento é decidido por ti. Além disso só acontece em memória, sobre a cópia que é lida; o ficheiro no teu disco não é modificado.
- O meu .ods continua a não abrir. Que mais pode ser?
- O erro original é o que há que ler, e deliberadamente não é substituído pela tentativa de reparação. As causas habituais são um documento protegido por palavra-passe, um ficheiro que não é um zip de todo — um .xls renomeado, ou uma transferência que guardou uma página de erro HTML com a extensão certa — e uma transferência truncada. Comparar o tamanho com o da fonte é a mais rápida dessas verificações.
- Posso abrir um .ods e voltar a guardá-lo como .ods?
- Sim, e é uma forma de tornar um ficheiro mínimo legível em todo o lado: lê-lo aqui e reescrevê-lo, com o resultado a levar as partes que um leitor estrito espera. Tem em conta que uma ida e volta por qualquer conversor conserva as células e perde quase toda a apresentação — um ficheiro reescrito é uma tabela limpa, não uma cópia do teu documento.
Artigos que podem interessar-lhe
Todos os guias →Ferramentas relacionadas
Fontes
Detetaste um erro neste artigo?