Convertir du JSON en Excel : 5 méthodes pour différents flux de travail

2026-03-13 07:35:52 zaki zou

Convertir JSON en Excel : Guide complet

Le JSON est l'un des formats les plus utilisés pour stocker et échanger des données structurées. Les API, les fichiers de configuration et de nombreuses applications modernes utilisent le JSON pour représenter des ensembles de données.

Cependant, le JSON n'est pas toujours pratique pour l'analyse, le reporting ou le partage avec des utilisateurs non techniques. Dans de nombreux cas, la conversion des données JSON en une feuille de calcul Excel facilite la visualisation, le filtrage, le tri et la présentation des informations.

Ce guide présente cinq méthodes pratiques pour convertir du JSON en Excel, allant des solutions sans code aux approches programmatiques.

Aperçu des méthodes couvertes :

Préparez votre structure JSON

Avant de convertir du JSON en Excel, il est important de comprendre comment la structure de vos données JSON affecte le processus de conversion. De nombreux outils de conversion supposent un format spécifique, et des structures incompatibles peuvent entraîner des résultats inattendus ou des erreurs.

Tableau racine vs. Objet racine

De nombreux outils de conversion JSON vers Excel s'attendent à ce que les données soient un tableau racine d'objets, comme ceci :

[
  {"id":1,"name":"Alice"},
  {"id":2,"name":"Bob"}
]

Cette structure correspond naturellement à un tableau Excel :

id name
1 Alice
2 Bob

Chaque objet devient une ligne, et les clés deviennent des en-têtes de colonne.

Cependant, de nombreuses API et ensembles de données du monde réel encapsulent le tableau à l'intérieur d'un objet racine :

{
  "employees":[
    {"id":1,"name":"Alice"},
    {"id":2,"name":"Bob"}
  ]
}

Dans ce cas, l'ensemble de données tabulaires réel est stocké à l'intérieur de la propriété "employees".

Pourquoi certains outils échouent avec les objets racines

Certains convertisseurs ne peuvent pas déterminer automatiquement quelle propriété contient l'ensemble de données tabulaires. Ils s'attendent à ce que le fichier JSON commence directement par un tableau.

Lorsque les données sont encapsulées dans un objet racine, ces outils peuvent ne pas réussir à analyser correctement le fichier ou produire des résultats vides.

Par conséquent, vous devrez peut-être extraire manuellement le tableau pertinent avant d'effectuer la conversion. Par exemple, vous pourriez restructurer le JSON pour que le tableau devienne l'élément racine pour un convertisseur en ligne, ou y accéder directement dans le code.

Accéder au tableau en Python

Par exemple, si l'ensemble de données est stocké sous "employees", vous pouvez le charger et l'extraire comme ceci :

data = json.load(f)["employees"]

Après cette étape, data devient une liste d'objets, qui peut être facilement écrite dans Excel sous forme de lignes et de colonnes.

Méthode 1 — Excel Power Query (sans code)

Si vous avez déjà installé Microsoft Excel, vous pouvez importer des données JSON directement sans écrire de code. La fonctionnalité Power Query d'Excel permet aux utilisateurs de charger des fichiers JSON et de les convertir automatiquement en format tabulaire. Cette approche est idéale pour les analystes ou les utilisateurs professionnels qui souhaitent visualiser rapidement des données JSON dans un environnement de feuille de calcul.

Étapes

  1. Lancez Microsoft Excel sur votre ordinateur.
  2. Cliquez sur l'onglet Données situé dans le menu supérieur d'Excel.
  3. Dans l'onglet Données, naviguez vers Obtenir des données, puis sélectionnez À partir d'un fichier, et choisissez À partir de JSON dans le menu déroulant.
  4. Obtenir des données à partir d'un fichier JSON

  5. Lorsque vous y êtes invité, localisez et sélectionnez votre fichier JSON, puis cliquez sur Importer.
  6. L'Éditeur Power Query se lancera.
  7. Éditeur Power Query

  8. Si le fichier s'ouvre comme une liste d'enregistrements :

    • Cliquez sur Vers la table pour convertir la liste en format de tableau.
    • Convertir la liste en table

    • Ensuite, cliquez sur l'icône Développer (⇄) dans l'en-tête de colonne pour afficher les noms de colonnes. Si les colonnes affichent toujours "List" ou "Record", cliquez à nouveau sur l'icône de développement pour aplatir davantage.
    • Développer les listes ou les enregistrements

    • Une boîte de dialogue apparaîtra, vous permettant de sélectionner les champs que vous souhaitez inclure dans le tableau. Choisissez les champs nécessaires, décochez "Utiliser le nom de la colonne d'origine comme préfixe" pour des en-têtes plus propres, puis cliquez sur OK.
    • Choisissez les champs nécessaires

  9. Cliquez sur Fermer et charger pour importer les données structurées dans votre feuille de calcul Excel.
  10. Charger les données structurées dans la feuille de calcul

  11. Enregistrez votre fichier Excel au format .xlsx, en vous assurant que vos données sont conservées pour une utilisation future.

Quand utiliser cette méthode

Idéal pour les petits ensembles de données et les utilisateurs qui préfèrent une interface visuelle plutôt que la programmation.

Méthode 2 — Convertisseur JSON en ligne (pour une conversion rapide et unique)

Les convertisseurs JSON en ligne offrent l'un des moyens les plus rapides de transformer des fichiers JSON en feuilles de calcul Excel. Ces outils ne nécessitent généralement qu'un téléchargement de fichier et génèrent automatiquement un fichier Excel téléchargeable. Des plateformes comme celles proposées par jsontoexcel.net peuvent effectuer la conversion en quelques secondes sans installer de logiciel.

Étapes

  1. Ouvrez un site web de convertisseur JSON vers Excel.
  2. Copiez et collez vos données JSON directement dans l'éditeur de texte, ou téléchargez un fichier depuis votre ordinateur.
  3. Coller les données Json ou charger le Json dans le convertisseur en ligne

  4. Cliquez sur le bouton Convertir en Excel pour lancer le processus de conversion.
  5. Téléchargez le fichier Excel généré.
  6. Téléchargez le fichier Excel généré

Note importante

La plupart des convertisseurs en ligne s'attendent à un tableau racine d'objets ; sinon, ils peuvent échouer silencieusement ou produire des résultats inattendus. Ce format se convertit de la manière la plus fiable en Excel.

Quand utiliser cette méthode

Idéal pour les conversions rapides et uniques ou pour tester des ensembles de données d'échantillons.

Méthode 3 — Python avec pandas (adapté à l'automatisation)

Pour les développeurs et les ingénieurs de données, Python offre un moyen puissant d'automatiser les conversions de JSON en Excel. La populaire bibliothèque d'analyse de données pandas peut facilement charger des fichiers JSON, les transformer en un DataFrame structuré et exporter les résultats vers Excel. Cette méthode est particulièrement utile lorsque la conversion doit être intégrée dans des scripts, des flux de travail ETL ou des pipelines de reporting automatisés.

Installer les dépendances

pip install pandas openpyxl

Convertir JSON en Excel

import pandas as pd
import json

with open("employees.json") as f:
    data = json.load(f)["employees"]

df = pd.json_normalize(data)
df.to_excel("output.xlsx", index=False)

Output:

Feuille Excel simple générée par pandas

Quand utiliser cette méthode

Idéal pour le traitement automatisé des données, les flux de travail d'analyse et les grands ensembles de données.

Méthode 4 — Python avec Spire.XLS (rapports Excel formatés)

Si votre objectif est de générer des rapports Excel bien formatés, Python peut fonctionner avec Spire.XLS pour créer des feuilles de calcul par programmation. Contrairement aux bibliothèques d'exportation de données simples, Spire.XLS offre un contrôle étendu sur le formatage Excel, y compris les polices, les couleurs, l'alignement et le dimensionnement des colonnes. Cela le rend approprié pour produire des feuilles de calcul professionnelles prêtes à être partagées avec les parties prenantes.

Installer la bibliothèque

pip install spire.xls

Exemple de code

Le script suivant lit les données des employés au format JSON, génère dynamiquement les en-têtes de colonne, écrit les lignes dans Excel et applique une mise en forme telle que le style des en-têtes, l'alternance des couleurs de lignes et l'ajustement automatique des colonnes.

import json
from spire.xls import *

# Load JSON data
with open('C:/Users/Administrator/Desktop/employees.json') as f:
    data = json.load(f)["employees"]

if not data:
    raise ValueError("JSON data is empty!")

# Create workbook and worksheet
workbook = Workbook()
sheet = workbook.Worksheets[0]

# Extract headers dynamically
headers = list(data[0].keys())
num_cols = len(headers)

# Write headers
for col, header in enumerate(headers, start=1):
    sheet.Range[1, col].Value = header

# Write rows
for row_index, item in enumerate(data, start=2):
    for col_index, key in enumerate(headers, start=1):
        value = item.get(key, "")
        sheet.Range[row_index, col_index].Value = str(value) if value is not None else ""

# Header formatting
header_row = sheet.Range[1, 1, 1, num_cols]
header_row.RowHeight = 30
header_style = header_row.Style
header_style.Font.FontName = "Times New Roman"
header_style.Font.Size = 16
header_style.Font.Color = Color.get_White()
header_style.Color = Color.FromArgb(255, 128, 128, 128)
header_style.HorizontalAlignment = HorizontalAlignType.Center
header_style.VerticalAlignment = VerticalAlignType.Center

# Data formatting
locatedRange = sheet.AllocatedRange
for rowNum in range(2, locatedRange.RowCount + 1):
    data_row = sheet.Range[rowNum, 1, rowNum, num_cols]
    data_row.RowHeight = 20
    row_style = data_row.Style
    row_style.Font.FontName = "Times New Roman"
    row_style.Font.Size = 13
    row_style.HorizontalAlignment = HorizontalAlignType.Center
    row_style.VerticalAlignment = VerticalAlignType.Center
    row_style.Color = Color.get_White() if rowNum % 2 == 0 else Color.FromArgb(255, 245, 245, 245)

# Auto-fit columns
extra_width = 3
for col in range(1, num_cols + 1):
    sheet.AutoFitColumn(col)
    current_width = sheet.Columns[col - 1].ColumnWidth
    sheet.Columns[col - 1].ColumnWidth = current_width + extra_width

workbook.SaveToFile("JsonToExcel.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Output:

Feuille Excel bien formatée générée par Spire.XLS

Quand utiliser cette méthode

Idéal pour la génération automatisée de rapports, les applications nécessitant un formatage Excel précis et les flux de travail où les fichiers Excel sont le livrable final.

Vous pourriez aussi aimer : Convertir JSON vers/depuis Excel en Python – Guide complet avec exemples

Méthode 5 — Node.js avec SheetJS (flux de travail JavaScript)

Les développeurs JavaScript peuvent convertir du JSON en Excel en utilisant des bibliothèques telles que SheetJS. Cette bibliothèque fournit des utilitaires pour transformer des objets JSON en feuilles de calcul et les écrire dans des fichiers .xlsx. Parce qu'elle fonctionne bien dans les environnements Node.js, elle est couramment utilisée dans les services backend et les scripts de traitement de données.

Installer

npm install xlsx

Exemple

const XLSX = require("xlsx");
const fs = require("fs");

const data = JSON.parse(fs.readFileSync("employees.json")).employees;

const worksheet = XLSX.utils.json_to_sheet(data);
const workbook = XLSX.utils.book_new();

XLSX.utils.book_append_sheet(workbook, worksheet, "Employees");
XLSX.writeFile(workbook, "output.xlsx");

Output:

Feuille Excel simple générée par SheetJS

Quand utiliser cette méthode

Idéal pour les applications web, les backends Node.js et les flux de travail d'automatisation basés sur JavaScript.

Comparaison rapide des 5 méthodes

Chaque méthode de conversion de JSON en Excel s'adresse à un type d'utilisateur et à un flux de travail différents. Certaines approches se concentrent sur la simplicité et la rapidité, tandis que d'autres offrent un contrôle de l'automatisation et du formatage pour des scénarios plus avancés. Le tableau ci-dessous résume les principales différences pour vous aider à choisir l'option la plus appropriée.

Méthode Niveau de compétence Automatisation Idéal pour Limites
Excel (Power Query) Débutant Non Conversion manuelle rapide et exploration de données Nécessite des étapes manuelles ; limité pour les flux de travail répétés
Convertisseur en ligne Débutant Non Conversions uniques et tests rapides Limites de taille de fichier ; préoccupations potentielles en matière de confidentialité
Python avec pandas Intermédiaire Oui Pipelines de données, analyses et grands ensembles de données Contrôle limité sur le formatage Excel avancé
Python avec Spire.XLS Intermédiaire Oui Génération de rapports Excel professionnels Nécessite une configuration de bibliothèque supplémentaire
Node.js avec SheetJS Intermédiaire Oui Applications JavaScript et automatisation du backend Nécessite un environnement Node.js

Meilleures pratiques pour la conversion de JSON en Excel

La conversion de JSON en Excel peut sembler simple, mais les ensembles de données du monde réel contiennent souvent des structures imbriquées, des clés incohérentes ou de grands volumes de données. Suivre quelques meilleures pratiques peut aider à garantir des résultats fiables et lisibles.

  1. Aplatir les structures JSON imbriquées
  2. De nombreux fichiers JSON contiennent des objets ou des tableaux imbriqués. Alors que le JSON prend en charge les données hiérarchiques, Excel fonctionne mieux avec des structures plates et tabulaires.

    Par exemple, un JSON comme celui-ci :

    {
      "id": 1,
      "name": "Alice",
      "address": {
        "city": "San Francisco",
        "zip": "94105"
      }
    }
    

    peut avoir besoin d'être aplati en :

    id name address.city address.zip
    1 Alice San Francisco 94105

    Des bibliothèques telles que pandas fournissent des outils comme json_normalize() pour aplatir automatiquement les données imbriquées. Lorsque vous travaillez avec un JSON plus complexe, le prétraitement de la structure avant l'exportation vers Excel produit souvent des résultats plus propres.

  3. Tenir compte de la taille du fichier et des performances

    Les grands ensembles de données JSON peuvent contenir des milliers ou des millions d'enregistrements, ce qui peut entraîner des problèmes de performances lors de la conversion directe vers Excel. Quelques conseils :

    • Utilisez des solutions programmatiques (Python ou Node.js) pour les fichiers volumineux.
    • Traitez les données par lots si nécessaire.
    • Évitez de charger des ensembles de données extrêmement volumineux directement dans Excel.

    Excel lui-même a des limites (par exemple, environ 1 048 576 lignes par feuille), donc les très grands ensembles de données peuvent devoir être répartis sur plusieurs feuilles de calcul.

  4. Utiliser plusieurs feuilles pour les données complexes
  5. Certaines API renvoient du JSON avec plusieurs tableaux liés, tels que :

    {
      "customers": [...],
      "orders": [...],
      "products": [...]
    }
    

    Au lieu de tout forcer dans une seule feuille de calcul, envisagez d'exporter chaque ensemble de données dans des feuilles Excel séparées. Cela préserve la structure logique des données d'origine et facilite l'analyse.

  6. Appliquer une mise en forme pour une meilleure lisibilité

    Si le fichier Excel doit être partagé avec des collègues ou des parties prenantes, la mise en forme peut améliorer considérablement la lisibilité.

    Les pratiques de formatage utiles incluent :

    • Lignes d'en-tête en gras
    • Largeurs de colonne ajustées
    • Couleurs de lignes alternées
    • Polices et alignement cohérents

    Des bibliothèques comme Spire.XLS permettent un contrôle programmatique sur ces éléments, rendant possible la génération de rapports prêts à être présentés automatiquement.

Conclusion

Le JSON est largement utilisé pour stocker et échanger des données structurées, mais il n'est pas toujours idéal pour l'analyse ou le partage avec des utilisateurs non techniques. La conversion de JSON en Excel rend les données plus faciles à lire, à filtrer et à organiser dans un format de feuille de calcul familier.

Pour les conversions simples et uniques, des outils comme Excel ou les convertisseurs en ligne sont souvent suffisants. Cependant, les développeurs travaillant avec des pipelines de données ou des rapports automatisés bénéficieront de solutions programmatiques telles que pandas, Spire.XLS ou SheetJS, qui offrent une plus grande flexibilité et un meilleur contrôle sur le résultat.

FAQ

Q1. Pourquoi certains convertisseurs en ligne rejettent-ils un JSON valide ?

De nombreux convertisseurs en ligne s'attendent à un tableau racine d'objets comme ensemble de données. Si le fichier JSON commence par un objet racine contenant des tableaux imbriqués, l'outil peut ne pas savoir quelle propriété représente le tableau. L'extraction du tableau pertinent avant de télécharger le fichier résout généralement ce problème.

Q2. Quelle est la différence entre un tableau JSON et un objet JSON ?

Un tableau JSON est une liste ordonnée de valeurs entre crochets [], tandis qu'un objet JSON est une collection de paires clé-valeur entre accolades {}.

Q3. Comment puis-je convertir un JSON imbriqué en Excel ?

Le JSON imbriqué nécessite souvent un aplatissement avant d'être exporté vers Excel. Des outils comme pandas fournissent des fonctions telles que json_normalize() qui développent automatiquement les champs imbriqués en colonnes. Alternativement, vous pouvez extraire manuellement des objets ou des tableaux imbriqués avant d'écrire les données.

Q4. Excel peut-il ouvrir directement les fichiers JSON ?

Oui. Excel inclut une fonctionnalité appelée Power Query, qui peut importer des fichiers JSON et les convertir en tableaux. Cependant, le processus peut nécessiter de développer manuellement les structures imbriquées pour obtenir un ensemble de données tabulaires propre.

À lire également