Convertisseur JSON en Excel

Convertissez JSON en Excel en ligne — gratuit, instantané et privé. Le fichier est traité dans votre navigateur, jamais téléversé.

Résultat

Le fichier converti et un aperçu apparaîtront ici.

Prêt. Choisissez un fichier de tableau à convertir.

Comment fonctionne la conversion

  • Un tableau d’objets devient des lignes et des colonnes ; les objets imbriqués sont aplatis en colonnes à clé pointée comme address.city.
  • Le classeur est écrit comme une seule feuille de valeurs simples — sans formules, mise en forme ni onglets supplémentaires.

Votre fichier de tableau est converti dans votre navigateur. Rien n’est téléversé vers BroBroGo.

FAQ

Comment convertir JSON en Excel ?

Déposez votre fichier JSON et cliquez sur convertir : le fichier Excel se télécharge en quelques secondes, avec un aperçu du résultat. Tout se passe sur votre appareil.

Quelle taille de fichier puis-je convertir ?

Jusqu’à 8 Mo, 10 000 lignes et 200 colonnes par fichier. Pour de plus grands jeux de données, mieux vaut les découper d’abord.

Cette page convertit du JSON en fichier Excel (XLSX)

Vous téléversez un fichier JSON et obtenez en retour un fichier XLSX. L’outil aplatit automatiquement la structure hiérarchique du JSON en un tableau plat: les clés des objets deviennent des en‑têtes de colonnes, les tableaux d’objets deviennent des lignes, et les clés imbriquées sont développées avec des chemins en notation pointée (ex. adresse.ville). Vous pouvez prévisualiser le résultat et télécharger le classeur final.

Ce qui distingue cette page des convertisseurs CSV ou Excel, c’est la nature même du JSON: un format typé et emboîtable qui contient des objets, des tableaux, des nombres, des booléens et null. Un tableur plat ne peut pas représenter directement cette hiérarchie. La conversion applique donc une règle d’aplatissement (clés en notation pointée) qui n’a pas d’équivalent quand on part d’un CSV ou d’un XLSX déjà plats. Par ailleurs, le format cible XLSX est un classeur XML compressé capable de stocker des types de données natifs (nombres, booléens), contrairement au CSV qui réduit tout en texte. L’outil ne conserve cependant aucune formule ni mise en forme: il écrit uniquement les données statiques visibles du JSON source.

Pourquoi convertir du JSON en XLSX plutôt qu’en CSV

Le choix du format de sortie a un impact direct sur la fidélité des types de données. Un fichier CSV ne peut représenter que du texte brut; tous les nombres, booléens et valeurs nulles y sont convertis en chaînes de caractères. Avec XLSX, le classeur peut stocker un nombre comme 123.45 en tant que nombre réel, un booléen true comme VRAI dans la cellule, et même des dates si le JSON les exprime en nombre (timestamp) – même si l’outil ne fait pas de conversion automatique de dates. Cette différence est cruciale pour les analystes qui doivent importer les données dans un tableur sans perdre le typage.

Prenons un exemple simple: un objet JSON { "nom": "Martin", "age": 34, "actif": true }. Une exportation CSV donnerait trois colonnes en texte, y compris "34" et "true". Une exportation XLSX préserve le nombre 34 et le booléen VRAI (ou FAUX selon le paramètre régional). Cela évite des erreurs de calcul ou de filtrage dans Excel.

L’autre avantage de XLSX est de pouvoir contenir plusieurs feuilles, mais l’outil n’en produit qu’une seule. Il ne génère pas de formules ni de mise en forme – c’est un transfert de données brutes, pas un rapport formaté.

Comment l’aplatissement des structures JSON fonctionne

Le JSON peut être profondément imbriqué. Un objet peut contenir un autre objet, lui‑même contenant un tableau d’objets, etc. Puisqu’un tableur est une grille à deux dimensions (lignes et colonnes), il faut réduire cette hiérarchie en un seul niveau. L’outil utilise la notation pointée pour les clés imbriquées.

Par exemple, un fichier JSON contenant:

[
  {
    "nom": "Léa",
    "adresse": {
      "rue": "123 Rue Principale",
      "ville": "Montréal"
    }
  },
  {
    "nom": "Pierre",
    "adresse": {
      "rue": "456 Boulevard",
      "ville": "Québec"
    }
  }
]

devient un tableau avec trois colonnes: nom, adresse.rue, adresse.ville. Chaque ligne correspond à un objet du tableau racine. Si un objet n’a pas de clé adresse, les cellules correspondantes restent vides (pas de cellule null, Excel utilise la cellule vide).

Les tableaux d’objets sont traités comme des lignes, à condition que le JSON racine soit un tableau. Si le fichier est un simple objet, l’outil tente de le traiter comme une table avec une seule ligne, en aplatissant ses clés – mais ce n’est pas garanti de fonctionner si l’objet contient des tableaux irréguliers.

Règle importante: l’outil n’essaie pas de déplier les tableaux internes. Par exemple, si un objet a un tableau telephones contenant deux chaînes, il ne crée pas deux lignes; il crée une colonne telephones avec la représentation texte du tableau. C’est une limitation du format tabulaire.

Tableaux d’objets vs tableaux de tableaux: deux traitements distincts

  • Tableau d’objets: chaque objet devient une ligne, ses clés deviennent les en‑têtes de colonnes (aplaties avec points).
  • Tableau de tableaux: chaque sous‑tableau devient une ligne. Les en‑têtes sont numérotés (0, 1, 2, etc.) car il n’y a pas de clés nommées.

Exemple de tableau de tableaux:

[
  [ "Nom", "Âge" ],
  [ "Marie", 28 ],
  [ "Luc", 35 ]
]

La première ligne devient l’en‑tête (Nom, Âge), les lignes suivantes sont les données. C’est le seul cas où l’outil interprète le premier sous‑tableau comme une ligne d’en‑tête. Pour un tableau d’objets, les en‑têtes sont dérivés des clés.

Si le fichier JSON n’est ni un tableau d’objets ni un tableau de tableaux, l’outil affiche l’erreur: « Ce JSON est invalide ou n'est pas en forme de tableau. » Il faut donc que le document JSON ait une structure tabulaire exploitable.

Types de données JSON et leur correspondance dans les cellules XLSX

Le JSON définit six types de valeur: chaîne, nombre, booléen, null, objet, tableau. L’outil les traduit ainsi:

Type JSON Type dans la cellule XLSX Comportement
chaîne texte Inchangé. Les guillemets ne sont pas inclus.
nombre nombre Entier ou flottant, conservé tel quel.
booléen booléen trueVRAI, falseFAUX (selon le locale du classeur).
null cellule vide Aucune valeur écrite; équivalent à une cellule vide.
objet texte (représentation) Si un objet se trouve dans une cellule (par exemple un tableau d’objets imbriqué), l’outil ne l’aplatit pas davantage. Il écrit la représentation textuelle de l’objet, ce qui peut être peu lisible.
tableau texte (représentation) Idem: le tableau est converti en chaîne.

Il n’y a pas de gestion des dates ni des types monétaires. Une chaîne comme "2023-12-25" reste une chaîne, pas une date Excel.

Attention aux valeurs null: elles ne sont pas écrites en tant que #N/A ou #NULL!. L’outil laisse simplement la cellule vide. Cela peut être différent d’un transfert manuel où l’on inscrit explicitement null.

Traitement côté client et limites de l’outil

Toute la conversion se déroule dans le navigateur de l’utilisateur. Aucun fichier n’est téléversé vers un serveur. Cela garantit la confidentialité des données, surtout si le JSON contient des informations sensibles (coordonnées, identifiants, etc.).

Limites:

  • Fichier unique: un seul fichier JSON à la fois.
  • Taille maximale: 8 Mo. Si le fichier dépasse la limite, l’outil affiche: « Ce fichier est trop lourd. Utilisez un fichier de moins de ‹max›. »
  • Nombre de lignes et colonnes: au plus 10 000 lignes et 200 colonnes.
  • Délai de conversion: si le fichier est très gros, l’outil peut afficher: « Cette conversion prend trop de temps. Essayez avec un fichier plus petit. »
  • Annulation: l’utilisateur peut annuler la conversion, ce qui produit le message « Conversion annulée. »

Seule la première feuille du classeur est produite. Il n’y a pas de support pour plusieurs feuilles, ni pour les formules, ni pour les styles. L’outil écrit les données dans la cellule, sans mise en forme automatique (largeurs de colonnes, polices, couleurs).

Format XLSX sous le capot: zipped XML

Pour comprendre les limites, il est utile de savoir ce qu’est XLSX. Un fichier .xlsx est une archive ZIP contenant plusieurs fichiers XML: un classeur principal, des feuilles individuelles, des styles, des relations, etc. L’outil génère un fichier valide conforme à la norme Office Open XML (ISO 29500).

Chaque cellule peut avoir un type explicite (nombre, booléen, texte, etc.). L’outil attribue le type approprié en fonction de la valeur JSON. Par exemple, 34 (nombre JavaScript) est écrit en tant que isNumber: true, true en tant que isBoolean: true. Les chaînes sont écrites dans une table de chaînes partagée, ce qui permet d’économiser de l’espace si plusieurs cellules contiennent le même texte.

Les formules ne sont pas générées; l’outil n’évalue pas les expressions JSON (les chaînes contenant =SUM(...) ne seront pas reconnues). Tout ce qui n’est pas une valeur primitive est converti en chaîne.

Questions fréquentes (FAQ)

1. Mon fichier JSON contient un objet racine, pas un tableau. Puis‑je le convertir? L’outil essaie de traiter un objet racine comme une table à une seule ligne. Si l’objet contient des sous‑objets ou des tableaux, l’aplatissement peut fonctionner. Cependant, si la structure n’est pas tabulaire (par exemple un objet avec des clés hétérogènes de longueur variable), le résultat peut être erroné. Le message d’erreur indique si le JSON n’est pas « en forme de tableau ».

2. Que se passe‑t‑il si j’ai un tableau d’objets avec des clés différentes d’un objet à l’autre? L’outil construit l’ensemble des colonnes en parcourant tous les objets. Si un objet manque une clé, la cellule reste vide. Si un objet a une clé que les autres n’ont pas, une colonne supplémentaire est créée. Toute ligne reçoit une valeur vide pour les colonnes absentes.

3. Pourquoi les booléens s’affichent‑ils comme VRAI ou FAUX au lieu de TRUE/FALSE? Le format XLSX stocke le booléen comme une valeur booléenne; l’affichage dépend du paramètre régional d’Excel. Dans la version française du logiciel, true s’affiche VRAI. L’outil n’influence pas ce paramètre; il écrit simplement la valeur booléenne native.

4. Mon fichier JSON est valide, mais j’obtiens le message « Ce fichier n'a pas de lignes de tableau. » Cela signifie que le tableau racine (ou l’objet racine traité comme tableau) contient zéro élément. L’outil exige au moins une ligne pour produire un classeur. Vérifiez que votre fichier ne soit pas vide.

5. Puis‑je convertir un fichier JSON contenant des milliers de lignes? Oui, tant que le fichier respecte la limite de taille (en octets) et le nombre maximal de lignes et colonnes. Le traitement côté client peut ralentir sur de très gros fichiers. L’outil prévoit un message d’avertissement en cas de délai excessif.

6. Est‑ce que les dates dans mon JSON (ex: "2024-01-15") sont reconnues comme des dates Excel? Non. L’outil ne fait aucune conversion de format. La chaîne reste une chaîne de caractères. Si vous voulez des dates Excel, vous devez convertir manuellement le timestamp numérique ou utiliser un script avant le téléchargement.