Ir para o conteúdo
OneKitly

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

Daniel OkonkwoProgramador front-end e redator de Tecnologia na OneKitly

Desempenho web · Formatos de ficheiro

Verificado a partir de 3 fontes

Ver perfil
Em resumo

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.

O que há dentro de um .ods, e o que é exigido
Entrada do zipContémExigido pela especificação
mimetypeO tipo do documento, sem compressão e em primeiroSim
META-INF/manifest.xmlA lista das outras entradasSim
content.xmlAs células, as folhas, os valoresSim
styles.xmlTipos, contornos, configuração de páginaNão — e é o que é exigido
meta.xml, settings.xmlAutor, datas, posições de janelaNão
XLSX para ODSConverte um livro do Excel para o formato OpenDocument .ods do LibreOffice Calc.Experimentar a ferramenta

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
ExplicaçãoO livro com vinte e três fórmulas que não declarava nenhumaUma célula pode conter uma fórmula e nenhum resultado em cache. Um leitor que salta as células vazias deita fora a fórmula com elas — e anuncia que o ficheiro não tem nenhuma. Uma opção de leitura separa os dois casos.ExplicaçãoConverter fórmulas em valores guarda a resposta em cache, não o cálculoUm ficheiro de folha de cálculo guarda ao mesmo tempo a fórmula e a última resposta calculada pelo Excel. Retirar a fórmula deixa a resposta guardada — e deixa um vazio onde o ficheiro nunca levou nenhuma.TutorialUm ficheiro por separador, e o que uma divisão deixa para trásDividir um livro escreve um .xlsx por folha, com o nome do separador. Leva os valores e não as fórmulas — o comportamento certo quando se trata de enviar a um serviço o seu próprio separador.ComparaçãoUma coluna chamada «Total (€)» não pode ser um nome de elemento XMLO JSON toma o texto do teu cabeçalho como chave, exatamente tal e qual. O XML não pode — os seus nomes não admitem espaços, parênteses nem um algarismo inicial — por isso são normalizados, e saber como evita uma surpresa a jusante.ExplicaçãoUma célula de três espaços conta como vazia, e é de propósitoOs espaços são a razão de ser destas ferramentas. Uma linha de brancos parece vazia, não o é para um teste estrito, e sobrevive em silêncio a todos os filtros que apliques a seguir.TutorialJuntar livros: uma folha cada um, ou uma só tabelaDoze relatórios mensais podem tornar-se doze separadores ou uma tabela de doze meses. Só a segunda se ordena e se soma de uma vez — e é aquela onde as linhas de cabeçalho pedem cuidado.

Ferramentas relacionadas

Fontes

Detetaste um erro neste artigo?