JSON vers une feuille de calcul Excel
La voie la plus directe est l’outil « JSON vers Excel » : il écrit un vrai fichier .xlsx dans votre navigateur, donc les nombres restent des nombres, les zéros initiaux survivent et rien n’est réinterprété comme une date. Si vous voulez du CSV, le convertisseur en produit un, et les trois échecs classiques à l’import Excel s’évitent.
JSON vers une feuille de calcul Excel en clair
Les exports d’API et les vidages de base de données sont des arbres ; Excel est un rectangle. Toute conversion JSON vers CSV doit décider ce que devient {"customer":{"name":"Ada"}}, et les réponses paresseuses — jeter l’objet, coller [object Object] dans la cellule, fourrer un blob JSON dans un seul champ — sont celles qui gâchent un après-midi. Ici, les objets imbriqués s’aplatissent en chemins de colonnes explicites (customer.name), les éléments de tableaux obtiennent leurs propres colonnes (tags[0], tags[1]), et l’ensemble des colonnes est l’union de chaque enregistrement, si bien qu’un champ qui n’apparaît que sur une ligne sur cinquante arrive quand même.
Faire entrer le CSV dans Excel est la moitié qui casse vraiment, et elle casse de trois façons prévisibles : l’encodage (les anciennes versions d’Excel supposent ANSI quand un fichier n’a pas de BOM, donc é arrive en é), les délimiteurs (dans les paramètres régionaux où la virgule est le séparateur décimal, Excel attend des points-virgules et ouvre un fichier à virgules en une seule colonne), et les heuristiques d’importation (les codes produits deviennent des dates, les zéros de tête disparaissent). Aucun de ces problèmes n’est un défaut du CSV lui-même.
Cette page est la recette pour faire entrer des données JSON dans un tableur sans aucun de ces échecs : les décisions de conversion à connaître, la voie du copier-coller face à la voie de l’importation, et les particularités régionales qui décident du délimiteur à choisir. La conversion s’exécute dans votre navigateur — les exports JSON sont de vrais enregistrements sur de vraies personnes, et ils n’ont pas besoin d’un détour par un serveur.
Le classeur est écrit par l’outil « JSON vers Excel » — collez le JSON et téléchargez un .xlsx dont la ligne d’en-tête est figée et filtrable.
Si les guillemets et les virgules au cœur de vos données cassent sans cesse vos lignes, le guide sur le format CSV explique les règles de guillemets que suit tout tableur.
Du JSON imbriqué à une grille aplatie
Collez un tableau d’enregistrements et chacun s’aplatit en chemins jusqu’aux valeurs terminales : {"customer":{"name":"Ada"}} produit une colonne nommée customer.name, et un tableau tags devient tags[0], tags[1] et ainsi de suite. Les deux notations sont volontairement distinguables — avec des seuls points, a.0 ne peut pas dire si a était un tableau ou un objet avec une clé nommée 0 — et c’est ce qui rend réversible l’aller-retour par le CSV jusqu’au JSON.
Deux autres décisions comptent dans un tableur. Les tableaux de scalaires peuvent être regroupés dans une seule cellule (priority, gift) au lieu d’être éclatés en colonnes — plus lisible, mais avec perte, donc cela ne s’applique qu’aux scalaires ; un tableau d’objets est toujours éclaté, car le regrouper le détruirait. Et null devient une cellule vide plutôt que le texte null, qu’un tableur traiterait comme une chaîne de caractères. Les guillemets suivent la RFC 4180 : un champ n’est mis entre guillemets que s’il contient le délimiteur, un guillemet ou un retour à la ligne, et les guillemets à l’intérieur des champs sont doublés.
La subtilité du BOM UTF-8 dans les anciennes versions d’Excel
Un CSV téléchargé depuis cet outil est en UTF-8 sans marque d’ordre des octets — le choix moderne par défaut, correct pour tout programme qui lit correctement les encodages. Les anciennes versions d’Excel (2016 et avant notamment) n’en font pas autant : en l’absence de BOM, elles supposent ANSI, une page de code Windows héritée, et chaque caractère au-dessus de 127 se défigure — é devient é, Curaçao devient Curaçao, les noms et les adresses se changent en bouillie. Le fichier, lui, va bien ; c’est l’hypothèse qui est fausse.
La parade, c’est la voie de l’importation : Données → À partir d’un fichier texte/CSV (Données → Fichier texte dans les versions anciennes), choisissez le fichier et réglez l’encodage sur 65001: Unicode (UTF-8) dans la boîte de dialogue. Les versions récentes de Microsoft 365 détectent d’habitude UTF-8 toutes seules, mais la boîte de dialogue reste la voie fiable quelle que soit la version — et c’est la même qui permet d’imposer le délimiteur, ce qui règle la subtilité suivante dans la même opération. Coller le texte CSV brut dans une feuille le fait atterrir en une seule colonne jusqu’à ce que Text to Columns le scinde, donc l’importation est aussi la voie la plus rapide dès qu’il y a plus de quelques champs.
Quel délimiteur choisir
La virgule, sauf si vous avez une raison — mais les raisons sont courantes, car le délimiteur et les paramètres régionaux sont étroitement liés. Dans une grande partie de l’Europe et de l’Amérique du Sud, la virgule est le séparateur décimal, et Excel y liste le point-virgule comme séparateur de listes : un fichier délimité par des virgules s’ouvre en une seule colonne géante, tandis qu’un fichier à points-virgules s’ouvre proprement. La table de décision :
| Votre destination | À choisir | Pourquoi |
|---|---|---|
| Excel dans des paramètres régionaux à virgule (Royaume-Uni, États-Unis) | Virgule | Correspond au séparateur de listes d’Excel ; s’ouvre au double-clic |
| Excel dans des paramètres régionaux à point-virgule (une grande partie de l’Europe) | Point-virgule | La virgule est déjà prise comme séparateur décimal |
| Des champs pleins de virgules et de guillemets | Tabulation | Les tabulations n’apparaissent presque jamais dans les données, donc les guillemets sont rares |
| Un système qui documente une entrée délimitée par des barres verticales | Barre verticale | Accordez-vous avec ce qui consommera le fichier ensuite |
Les heuristiques d’importation d’Excel : dates, zéros et grands nombres
Même un CSV parfaitement formé peut être défiguré par Excel après ouverture — par l’importateur, pas par le fichier. Les valeurs qui ressemblent à des dates (2-2024, 3/4) sont converties en vraies dates ; les codes produits et les codes postaux à zéros de tête les perdent (007 devient 7) ; les identifiants numériques longs passent en notation scientifique et leurs derniers chiffres disparaissent définitivement. Au double-clic, ces réinterprétations sont irréversibles.
La parade passe par la même boîte de dialogue : Données → À partir d’un fichier texte/CSV permet de régler les colonnes sur Text avant toute importation, si bien que chaque valeur arrive telle qu’écrite. Pour des données collées, mettez d’abord la colonne de destination au format Text. Cela mérite qu’on y insiste, car le dégât est silencieux — une colonne de codes postaux en nombres semble correcte jusqu’à ce que quelqu’un remarque les zéros de tête manquants, et d’ici là le CSV original est depuis longtemps introuvable.
Limites pratiques, énoncées franchement
Le convertisseur lit le JSON de façon stricte : une virgule finale ou un guillemet typographique est signalé avec sa ligne et sa colonne plutôt que toléré en silence. L’entrée est plafonnée à 8 MB parce que la conversion s’exécute sur le thread principal — au-delà, il refuse plutôt que de figer l’onglet. Et le CSV lui-même a des angles durs qu’aucun convertisseur ne peut lisser : une cellule ne peut pas distinguer la chaîne 22201 du nombre 22201, ni une cellule vide d’un champ absent, si bien que la page sur l’aller-retour documente ces deux réserves au lieu de promettre une conversion sans perte.
Questions fréquentes
Mon JSON est-il envoyé quand je le convertis en CSV ?
Non. La conversion est un appel de fonction dans votre onglet — il n’existe aucune route d’API vers laquelle envoyer le document. Vérifiez : ouvrez DevTools, surveillez le panneau Réseau, collez un document, et aucune requête ne le transporte. La Content-Security-Policy de la page définit connect-src 'self', donc le navigateur refuserait de toute façon un envoi sortant. Les exports JSON sont de vrais enregistrements, et c’est exactement pour cela que la conversion reste locale.
Pourquoi les caractères accentués s’affichent-ils mal quand j’ouvre le CSV dans Excel ?
Les anciennes versions d’Excel supposent ANSI quand un CSV n’a pas de BOM, et la sortie de cet outil est en UTF-8 sans BOM — le choix moderne correct par défaut. Importez via Données → À partir d’un fichier texte/CSV avec l’encodage réglé sur 65001: Unicode (UTF-8) et les accents survivent. Les versions de Microsoft 365 détectent d’habitude UTF-8 toutes seules.
Comment les objets et les tableaux imbriqués deviennent-ils des colonnes ?
Les objets s’aplatissent en chemins à points — customer.name — et les tableaux en chemins à crochets — tags[0], tags[1]. L’ensemble des colonnes est l’union de tous les enregistrements, dans l’ordre de première apparition, si bien que les champs facultatifs obtiennent une colonne, avec des cellules vides ailleurs, au lieu d’être abandonnés. Le mode d’éclatement préserve l’aller-retour ; le mode de regroupement range les tableaux de scalaires dans une seule cellule et perd de l’information par conception.
Pourquoi mon CSV s’ouvre-t-il en une seule colonne ?
Le délimiteur ne correspond pas à ce qu’attend votre Excel — d’habitude un fichier à virgules dans un environnement à point-virgule, où la virgule sert de séparateur décimal. Importez via Données → À partir d’un fichier texte/CSV et choisissez le délimiteur dans la boîte de dialogue, ou revenez en arrière et prenez le point-virgule (ou la tabulation) dans le convertisseur. Le fichier n’est pas cassé ; c’est l’hypothèse qui l’était.
Pourquoi mes codes produits sont-ils devenus des dates ou perdu leurs zéros de tête ?
Les heuristiques d’importation d’Excel, pas le fichier : tout ce qui ressemble à une date devient une date, les zéros de tête sont retirés de tout ce qui ressemble à un nombre, et les identifiants longs passent en notation scientifique. Utilisez Données → À partir d’un fichier texte/CSV et réglez ces colonnes sur Text avant l’importation, ou mettez la colonne de destination au format Text quand vous collez.
Puis-je reconvertir le CSV en JSON ?
Oui — l’outil CSV vers JSON reconstruit l’imbrication à partir des mêmes chemins de colonnes, si bien que l’aller-retour vous rend le document de départ. Deux réserves sont propres au CSV : une cellule ne peut pas distinguer une chaîne d’un nombre, ni une cellule vide d’un champ absent, donc ces deux distinctions n’existent que dans le JSON d’origine.
Quels outils liés devriez-vous utiliser ensuite ?
- JSON vers ExcelCréez un classeur Excel typé, pas un CSV avec une nouvelle extensionOuvrir
- Convertir JSON en CSVTransforme des enregistrements en feuille de calcul, imbrications comprisesOuvrir
- Convertir CSV en JSONLit un export de feuille de calcul, guillemets comprisOuvrir
- Formater du JSONIndente, trie les clés et supprime les commentairesOuvrir
- Règles CSV RFC 4180Guide en langage clairOuvrir
- Outils JSONComparez, formatez, validez et explorez des documents JSON.Ouvrir