Aller au contenu
OneKitly

Une colonne nommée « Total (€) » ne peut pas être un nom d'élément XML

Publié le 15/09/2026 · 4 min de lecture · Outils fichiers

Daniel Okonkwo

Daniel OkonkwoDéveloppeur front-end et rédacteur Tech chez OneKitly

Performance web · Formats de fichiers

Vérifié à partir de 3 sources

Voir le profil
En bref

Les deux exports lisent la première ligne comme noms de champs, puis chacun doit obéir aux règles de son propre format. Le JSON n'en a presque aucune : une clé peut être n'importe quelle chaîne, donc une colonne intitulée « Total (€) » devient la clé « Total (€) » telle quelle, et une colonne sans libellé devient la clé « » — gênant mais fidèle. Le XML a des règles strictes sur les noms, et le texte d'un en-tête les enfreint le plus souvent. Mesuré sur une feuille de quatre colonnes : « Produit » reste Produit, « Total (€) » devient Total_, « 2026 ventes » devient _ventes parce qu'un nom ne peut pas commencer par un chiffre, et un en-tête vide devient column4. Rien n'est supprimé — chaque caractère interdit dans un nom est replié en tiret bas plutôt qu'effacé — mais deux en-têtes différents peuvent se normaliser en un même nom d'élément, et cela vaut d'être vérifié avant de donner le résultat à un programme qui les attend distincts. Les valeurs, elles, sont échappées et non altérées : une esperluette ou un chevron dans une cellule traverse intact.

Le JSON prend le texte de ton en-tête comme clé, exactement tel quel. Le XML ne le peut pas — ses noms n'admettent ni espace, ni parenthèse, ni chiffre initial — ils sont donc normalisés, et savoir comment évite une surprise en aval.

La ligne vide que seuls certains formats émettent

Une feuille comportant une ligne entièrement vide au milieu s'exporte différemment selon la forme de la cible. Les formats en lignes la gardent : le CSV d'une feuille à quatre colonnes avec une ligne vide contient une ligne faite de trois virgules, et le TSV de trois tabulations — parce qu'une ligne est une ligne et que le format n'a pas la notion d'enregistrement absent. Les formats en objets la laissent tomber : le JSON a rendu deux objets pour trois lignes de données dans le même test. Le XML est en lignes par construction et l'aurait naturellement gardée, ce qui aurait fait qu'un même fichier se contredise entre deux exports du même outil. Il écarte donc la ligne vide, et JSON et XML s'accordent.

Quelle cible pour quel consommateur

Le JSON quand un script ou une API doit le lire, parce que les clés survivent telles quelles et qu'un lecteur peut désigner une colonne par son vrai nom. Le XML quand le consommateur est un système ancien, une intégration d'entreprise ou tout ce qui valide contre un schéma — et vérifie d'abord les noms d'éléments contre ce schéma, la normalisation ne produisant pas forcément ce qu'il attend. Le TSV quand la destination est un chargement en base ou un enchaînement shell : une tabulation a bien moins de chances d'apparaître dans une cellule qu'une virgule, donc un fichier séparé par tabulations demande moins de guillemets et casse moins souvent. Le HTML quand quelqu'un veut simplement regarder le tableau dans un navigateur ou le coller dans un document.

Quatre en-têtes à travers les deux exports
En-tête dans la feuilleClé JSONÉlément XML
Produit« Produit »<Produit>
Total (€)« Total (€) »<Total_>
2026 ventes« 2026 ventes »<_ventes> — pas de chiffre initial
(pas d'en-tête)« »<column4>
Excel en XMLExporte une feuille en XML bien formé, l'en-tête donnant son nom à chaque élément.Essayer l'outil

Questions fréquentes

Et si deux en-têtes se normalisent en un même nom d'élément ?
Tu obtiens deux éléments de même nom dans chaque ligne, ce qui est du XML valide et généralement pas ce qu'un consommateur veut. « Total (€) » et « Total (£) » deviennent tous deux Total_, par exemple. Renomme les colonnes dans la feuille avant de convertir — c'est le seul endroit où l'ambiguïté peut être levée, puisque une fois le XML produit les en-têtes d'origine ont disparu.
Les caractères accentués passent-ils dans les deux formats ?
Dans les valeurs, oui — les deux sont écrits en UTF-8 et le XML le déclare dans son prologue. Dans les noms d'éléments XML, les règles sont plus larges qu'il n'y paraît : un nom peut contenir des lettres accentuées, si bien qu'un en-tête « Quantité » serait un élément valide. Ce convertisseur est plus strict que la spécification et replie tout ce qui sort de l'alphabet latin simple en tiret bas — choix prudent pour les consommateurs eux-mêmes plus stricts que la spécification, et ils sont nombreux.
Puis-je obtenir un fichier par feuille plutôt que par classeur ?
Découpe d'abord le classeur, puis convertis chaque morceau — le découpage écrit un .xlsx par feuille et les convertisseurs prennent une feuille à la fois, ce chemin te donne donc exactement une sortie par onglet, noms conservés. Convertir directement un classeur à plusieurs feuilles te donne la première, ce qui convient au cas courant d'un classeur qui n'est en réalité qu'un tableau.

Articles qui pourraient t'intéresser

Tous les guides
ExplicationLe fichier .ods qui est valide, et que ton lecteur refuseL'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é.ExplicationConvertir les formules en valeurs garde la réponse en cache, pas le calculUn fichier de tableur range à la fois la formule et la dernière réponse calculée par Excel. Retirer la formule laisse la réponse enregistrée — et laisse un vide partout où le fichier n'en portait pas.TutorielUn fichier par onglet, et ce qu'un découpage laisse derrière luiDécouper un classeur écrit un .xlsx par feuille, nommé d'après l'onglet. Cela emporte les valeurs et non les formules — ce qui est le bon comportement quand il s'agit d'envoyer à un service son propre onglet.ExplicationLe classeur à vingt-trois formules qui n'en déclarait aucuneUne cellule peut contenir une formule et aucun résultat en cache. Une visionneuse qui saute les cellules vides jette la formule avec elles — et annonce que le fichier n'en a pas. Une option de lecture sépare les deux cas.ExplicationUne cellule de trois espaces compte comme vide, et c'est vouluLes espaces sont la raison d'être de ces outils. Une ligne de blancs a l'air vide, ne l'est pas pour un test strict, et survit en silence à tous les filtres qu'on applique ensuite.TutorielFusionner des classeurs : une feuille chacun, ou un seul tableauDouze relevés mensuels peuvent devenir douze onglets ou un tableau de douze mois. Seul le second se trie et se somme d'un bloc — et c'est celui où les lignes d'en-tête demandent du soin.

Outils similaires

Sources

Tu as repéré une erreur dans cet article ?