Convertir JSON en Excel : Power Query et Python sans plugin

Excel ne peut pas ouvrir un fichier JSON directement — il faut passer par Power Query (intégré dans Excel depuis 2016) ou par un script Python. Voici les méthodes claires selon votre niveau et votre version d'Excel.

Prérequis : Power Query est disponible dans Excel 2016, 2019, 2021 et Microsoft 365. Si vous avez Excel 2013, vous pouvez l'installer comme complément. Excel 2010 ou antérieur : utilisez la méthode Python.

Méthode 1 — Power Query (sans code, recommandé)

Power Query — intégré dans Excel Recommandé
  1. Dans Excel, aller dans Données > Obtenir des données > À partir d'un fichier > Depuis JSON
  2. Sélectionner votre fichier .json
  3. Power Query s'ouvre et affiche la structure du JSON. Si c'est un tableau d'objets, cliquez sur "Vers table" dans le ruban
  4. Cliquez sur l'icône d'expansion (⇲) dans l'en-tête de colonne pour développer les champs imbriqués
  5. Sélectionnez les colonnes à importer et désélectionnez celles dont vous n'avez pas besoin
  6. Accueil > Fermer et charger — les données s'insèrent dans une nouvelle feuille Excel

Méthode 2 — Python (fichiers complexes ou en masse)

Python avec pandas Avancé

JSON simple (tableau d'objets) :

import pandas as pd

df = pd.read_json('fichier.json')
df.to_excel('fichier.xlsx', index=False)

JSON imbriqué (objets dans objets) :

import pandas as pd
import json

with open('fichier.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# json_normalize aplatit les objets imbriqués
df = pd.json_normalize(data)
df.to_excel('fichier.xlsx', index=False)

Méthode 3 — Convertisseurs en ligne (fichiers légers)

Outils en ligne Rapide — fichiers sans données sensibles

Pour les fichiers JSON non confidentiels de moins de quelques Mo, des outils en ligne permettent une conversion en quelques secondes sans installation. Cherchez "convert json to excel online" et choisissez un site avec connexion HTTPS. Ne téléchargez jamais de fichiers contenant des données personnelles ou confidentielles sur ces outils.

Problèmes courants

Mon JSON a des tableaux imbriqués à l'intérieur d'objets

Power Query peut gérer ce cas, mais vous devrez utiliser plusieurs étapes d'expansion. Chaque fois que vous voyez une colonne contenant "List" ou "Record", cliquez sur l'icône d'expansion pour développer ce niveau. La fonction pd.json_normalize() en Python gère également ce cas avec le paramètre record_path.

La colonne date s'affiche comme un nombre dans Excel

Les dates JSON sont souvent au format ISO 8601 (ex. : "2024-01-15T10:30:00Z"). Dans Power Query, clic droit sur la colonne > Modifier le type > Date/Heure pour la convertir correctement.

Le fichier JSON est trop volumineux pour Power Query

Power Query peut avoir du mal avec les fichiers JSON de plus de 50 Mo. Dans ce cas, utilisez Python avec pandas qui gère des fichiers bien plus volumineux, ou découpez le fichier en parties avec un éditeur JSON.

Go up