Le fichier .ods qui est valide, et que ton lecteur refuse
Publié le 15/09/2026 · 4 min de lecture · Outils fichiers
Daniel Okonkwo — Développeur front-end et rédacteur Tech chez OneKitly
Performance web · Formats de fichiers
Vérifié à partir de 3 sources
Un .ods est une archive zip contenant une poignée de fichiers XML. La spécification n'en exige que très peu : un mimetype, un manifeste et un content.xml suffisent à faire un document de tableur valide, et styles.xml est explicitement facultatif. Les exportateurs minimaux prennent la spécification au mot — scripts, générateurs et plusieurs convertisseurs en ligne écrivent exactement ces trois entrées et s'arrêtent. Certains lecteurs refusent alors le document tout entier en signalant qu'ils ne trouvent pas styles.xml, ce qui ressemble à un message de corruption et n'en est pas un : le fichier est bon, c'est le lecteur qui est strict. Le correctif ici consiste à donner au lecteur ce qu'il réclame sans toucher à ce pour quoi il est venu. Quand un classeur refuse de s'ouvrir, les octets sont contrôlés pour une signature zip, décompressés, et si content.xml est présent alors que styles.xml manque, un styles.xml minimal mais valide est ajouté et l'archive relue. Cela n'ajoute aucun style — trois conteneurs vides satisfont l'exigence. La réparation n'est tentée qu'une fois, et si elle échoue l'erreur d'origine est relevée plutôt que remplacée, parce que masquer « fichier chiffré » derrière « ODS incomplet » t'envoie chercher au mauvais endroit.
L'OpenDocument rend styles.xml facultatif. Plusieurs lecteurs l'exigent et rejettent tout le document sans lui — « Cannot find file styles.xml in zip » sur un fichier qui n'a rien de cassé.
Facultatif dans une spécification n'est pas facultatif en pratique
C'est une figure récurrente dans les formats de fichiers, et bonne à reconnaître quand on la rencontre ailleurs. Une spécification dit qu'une partie peut être omise ; l'implémentation de référence l'écrit toujours ; tous les lecteurs sont donc testés sur des fichiers qui la contiennent toujours ; et le caractère facultatif devient en silence théorique. Le premier fichier qui l'exerce est signalé comme corrompu. La réponse honnête est de l'accepter — le fichier satisfait la norme — tout en écrivant la partie manquante quand on en produit un, parce qu'un document que seuls certains lecteurs ouvrent est pire qu'un document portant trois conteneurs de styles vides que personne ne regarde.
Quel format transmettre
L'ODS quand la personne en face travaille sous LibreOffice ou Collabora, quand une administration réclame un format ouvert, ou quand le fichier part dans une archive où une spécification documentée compte plus que la mode d'un logiciel. Le XLSX quand le destinataire utilise Excel ou une chaîne d'entreprise bâtie autour, ce qui est le cas le plus fréquent. Les deux portent les mêmes choses pour des tableaux ordinaires — cellules, feuilles, formules, formats de nombre — et les deux sont des archives zip de XML : aucun n'est plus ouvert que l'autre en un sens utile aujourd'hui. Ils divergent aux marges : tableaux croisés, macros et types de graphiques exotiques survivent à leur propre format et pas à l'autre.
| Entrée du zip | Contient | Exigé par la spécification |
|---|---|---|
| mimetype | Le type du document, non compressé et en premier | Oui |
| META-INF/manifest.xml | La liste des autres entrées | Oui |
| content.xml | Les cellules, les feuilles, les valeurs | Oui |
| styles.xml | Polices, bordures, mise en page | Non — et c'est celui qu'on exige |
| meta.xml, settings.xml | Auteur, dates, positions de fenêtre | Non |
Questions fréquentes
- La réparation modifie-t-elle mes données ?
- Non. Elle ajoute une entrée à l'archive et laisse toutes les autres octet pour octet telles quelles — content.xml, le manifeste et le mimetype ne sont pas touchés. Le fichier ajouté déclare trois conteneurs vides et aucun style : rien de l'apparence du document n'est décidé à ta place. Cela n'a lieu qu'en mémoire, sur la copie lue ; le fichier sur ton disque n'est pas modifié.
- Mon .ods ne s'ouvre toujours pas. Que peut-il y avoir d'autre ?
- L'erreur d'origine est celle qu'il faut lire, et elle n'est délibérément pas remplacée par la tentative de réparation. Les causes habituelles sont un document protégé par mot de passe, un fichier qui n'est pas un zip du tout — un .xls renommé, ou un téléchargement ayant enregistré une page d'erreur HTML sous la bonne extension — et un transfert tronqué. Comparer la taille à celle de la source est le plus rapide de ces contrôles.
- Puis-je ouvrir un .ods et le réenregistrer en .ods ?
- Oui, et c'est une façon de rendre un fichier minimal lisible partout : le lire ici et le réécrire, le résultat portant alors les parties qu'un lecteur strict attend. Garde en tête qu'un aller-retour par n'importe quel convertisseur conserve les cellules et laisse l'essentiel de la présentation — un fichier réécrit est un tableau propre, pas une copie de ton document.
Articles qui pourraient t'intéresser
Tous les guides →Outils similaires
Sources
Tu as repéré une erreur dans cet article ?