
Si vous avez déjà eu besoin de télécharger des données de tableur vers une application web, de créer une API REST ou de migrer des données vers une base de données NoSQL, vous avez probablement rencontré un problème courant : Excel ne fournit pas de moyen intégré pour enregistrer des données au format JSON.
Heureusement, il existe plusieurs façons d'exporter Excel vers JSON, allant des convertisseurs en ligne rapides aux solutions programmatiques en Python. La meilleure méthode dépend de la taille de votre fichier, de vos exigences de sécurité et de la nécessité de préserver les structures du classeur, telles que plusieurs feuilles de calcul ou les résultats des formules.
Dans ce guide, nous comparerons les approches les plus pratiques et vous aiderons à choisir la bonne solution pour votre scénario.
Navigation rapide
- Pourquoi exporter Excel vers JSON ?
- À quoi ressemblent les données Excel en JSON ?
- Méthode 1 : Exporter Excel vers JSON en ligne
- Méthode 2 : Exporter Excel vers JSON en Python avec Pandas
- Méthode 3 : Exporter Excel vers JSON en Python avec Spire.XLS
- Défis courants lors de la conversion d'Excel en JSON
- Quelle méthode choisir ?
- FAQ
Pourquoi exporter Excel vers JSON ?
Excel est l'outil le plus utilisé pour stocker des données structurées, mais les applications modernes communiquent en JSON. La conversion entre ces formats est essentielle chaque fois que des données de tableur doivent être transférées dans un contexte web.
Les cas d'utilisation courants incluent :
- Envoi de données de tableur à des applications web
- Importation de données dans des API REST
- Travail avec des frameworks JavaScript comme React, Vue ou Angular
- Migration de données vers des bases de données NoSQL comme MongoDB
- Échange de données entre systèmes dans des pipelines d'intégration
Excel n'a pas d'option native "Enregistrer sous JSON", vous avez donc besoin d'un outil ou d'une bibliothèque externe pour combler cette lacune.
À quoi ressemblent les données Excel en JSON ?
Les lignes Excel sont généralement converties en objets JSON, tandis que les en-têtes de colonne deviennent des clés d'objet.
Données Excel :

Sortie JSON :
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
Chaque ligne devient un objet JSON, chaque en-tête de colonne devient une clé, et la feuille de calcul entière devient un tableau. Les fichiers XLS et XLSX suivent le même modèle de mappage.
Méthode 1 : Exporter Excel vers JSON en ligne
Les convertisseurs Excel vers JSON en ligne offrent la solution la plus rapide pour les conversions ponctuelles sans nécessiter d'installation de logiciel ni de connaissances en programmation.
Étapes pour convertir Excel en JSON en ligne
-
Télécharger le fichier Excel : Sélectionnez votre fichier .xlsx ou .xls depuis le stockage local. La plupart des plateformes prennent en charge le glisser-déposer.
-
Configurer les options : Spécifiez si vous souhaitez inclure les en-têtes, sélectionner des feuilles de calcul spécifiques ou personnaliser le format de sortie.
-
Convertir et télécharger : Le serveur traite votre fichier et génère la sortie JSON. Récupérez le fichier converti ou copiez le résultat.
Convertisseurs Excel vers JSON en ligne recommandés
Différents outils excellent dans différents scénarios :
| Outil | Idéal pour | Limite de taille de fichier | Fonctionnalités spéciales |
|---|---|---|---|
| TableConvert | Structures JSON basées sur des tableaux | 10 Mo | Formatage JSON personnalisé, objets imbriqués |
| Data Formatter Pro | Conversion rapide dans le navigateur | 5 Mo | Conversion côté navigateur, aucun téléchargement requis |
| JSON Editor Online | Édition visuelle après conversion | 5 Mo | Validateur et formateur JSON intégrés |
Avantages et limitations
Avantages :
- Aucune installation requise — accès depuis n'importe quel navigateur
- Rapide pour les petits fichiers de moins de 5 Mo
- Facile à utiliser avec des interfaces graphiques
Limitations :
- Limites de taille de fichier : La plupart des convertisseurs gratuits limitent les téléchargements à 5-10 Mo
- Préoccupations relatives à la confidentialité : Le téléchargement de données d'entreprise sur des serveurs externes présente des risques de conformité
- Gestion des formules : Les convertisseurs en ligne exportent les résultats des formules sous forme de valeurs statiques
- Plusieurs feuilles de calcul : De nombreux outils n'exportent que la feuille de calcul active ou perdent la structure des feuilles
Les convertisseurs en ligne fonctionnent bien pour les conversions rapides et non sensibles. Pour tout ce qui concerne les fichiers volumineux, les données confidentielles ou les classeurs complexes, vous avez besoin d'une solution programmatique.
Méthode 2 : Exporter Excel vers JSON en Python avec Pandas
Pandas est la bibliothèque d'analyse de données la plus populaire de Python, offrant une conversion Excel vers JSON simple via son API DataFrame. Cette méthode convient aux scientifiques et analystes de données qui utilisent déjà Pandas pour la manipulation de données.
Installer Pandas et les dépendances
pip install pandas openpyxl
Pour les anciens fichiers .xls, installez également xlrd :
pip install xlrd
Lire Excel et exporter JSON
import pandas as pd
# Charger le fichier Excel dans un DataFrame
df = pd.read_excel("sales_report.xlsx")
# Exporter le DataFrame vers JSON
df.to_json(
"sales_report.json",
orient="records",
indent=4
)
print("Les données Excel ont été exportées avec succès en JSON")
Ci-dessous un exemple de la feuille de calcul Excel et de la sortie JSON :

Paramètres clés :
-
orient="records": Structure la sortie sous forme de tableau d'objets (format le plus courant) -
indent=4: Affiche le JSON de manière lisible avec une indentation de 4 espaces
Comprendre les options de sortie JSON
Pandas propose plusieurs orientations de sortie via le paramètre orient :
orient="records" (Recommandé pour les API) :
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
orient="index" :
{
"0": {"ID": 1, "Name": "Alice", "Department": "HR"},
"1": {"ID": 2, "Name": "Bob", "Department": "Engineering"}
}
orient="split" :
{
"columns": ["ID", "Name", "Department"],
"index": [0, 1],
"data": [[1, "Alice", "HR"], [2, "Bob", "Engineering"]]
}
L'orientation records est le format le plus compatible pour les API REST et les applications JavaScript.
Gestion des feuilles de calcul spécifiques
import pandas as pd
# Lire une feuille de calcul spécifique par son nom
df = pd.read_excel("workbook.xlsx", sheet_name="Q4_Sales")
# Lire une feuille de calcul spécifique par son index (base 0)
df = pd.read_excel("workbook.xlsx", sheet_name=0)
df.to_json("q4_sales.json", orient="records", indent=4)
Pandas excelle dans l'analyse de données où vous devez filtrer, agréger ou transformer des données avant l'exportation. Cependant, il charge des fichiers entiers en mémoire et ne peut pas préserver la logique des formules, ce qui le rend moins adapté aux fichiers volumineux ou aux scénarios d'entreprise.
La conversion Excel vers JSON n'est souvent qu'une étape dans un flux de travail de données. Si vous avez besoin d'importer des données JSON dans des tableurs, consultez notre tutoriel sur la conversion de JSON en Excel pour une solution complète d'échange de données bidirectionnel.
Méthode 3 : Exporter Excel vers JSON en Python avec Spire.XLS
Spire.XLS pour Python fournit une bibliothèque professionnelle de traitement Excel conçue pour les scénarios où Pandas est insuffisant. Elle gère les structures de classeur complexes, préserve les calculs de formules et traite les fichiers volumineux efficacement sans charger des ensembles de données entiers en mémoire.
Installer Spire.XLS pour Python
pip install Spire.Xls
Exporter des données Excel vers JSON
from spire.xls import Workbook
import json
# Créer une instance de classeur
workbook = Workbook()
workbook.LoadFromFile("sales_data.xlsx")
# Obtenir la première feuille de calcul
sheet = workbook.Worksheets[0]
# Extraire les données dans un format structuré
data = []
headers = []
# Lire les en-têtes de la première ligne
for col in range(sheet.AllocatedRange.Columns.Count):
cell = sheet.AllocatedRange.Rows[0].Cells[col]
headers.append(cell.Value)
# Lire les lignes de données
for row_idx in range(1, sheet.AllocatedRange.Rows.Count):
row_data = {}
row = sheet.AllocatedRange.Rows[row_idx]
for col_idx in range(len(headers)):
cell = row.Cells[col_idx]
row_data[headers[col_idx]] = cell.Value
data.append(row_data)
# Exporter vers un fichier JSON
with open("sales_data.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
print(f"{len(data)} enregistrements exportés vers JSON")
workbook.Dispose()
Le résultat de la conversion est montré ci-dessous :

Points clés
-
Charger le classeur : Utilisez
Workbook.LoadFromFile()pour charger le fichier Excel en mémoire. Cette méthode prend en charge les formats XLS et XLSX. -
Accéder à la feuille de calcul : Récupérez une feuille de calcul spécifique à l'aide de
workbook.Worksheets[index], où l'index 0 fait référence à la première feuille. -
Extraire les en-têtes : Itérez sur la première ligne de la plage allouée (
sheet.AllocatedRange.Rows[0]) pour collecter les en-têtes de colonne, qui serviront de clés d'objet JSON. -
Lire les lignes de données : Parcourez les lignes restantes (à partir de l'index 1) et extrayez les valeurs des cellules. Pour chaque ligne, créez un dictionnaire associant les en-têtes aux valeurs des cellules.
-
Exporter vers JSON : Utilisez la fonction intégrée
json.dump()de Python pour écrire la structure de données dans un fichier JSON avec un formatage approprié (indent=4) et une prise en charge Unicode (ensure_ascii=False).
JSON n'est pas le seul format utilisé pour l'échange de données. Si vous avez besoin d'un format tabulaire plus simple pour les rapports ou l'intégration de systèmes, consultez notre guide sur la conversion d'Excel en CSV en Python.
Exporter plusieurs feuilles de calcul vers JSON
L'un des principaux avantages de Spire.XLS est la gestion des classeurs multi-feuilles tout en préservant la structure :
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("quarterly_reports.xlsx")
workbook_data = {}
for sheet_index in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[sheet_index]
sheet_name = sheet.Name
sheet_data = []
headers = []
last_row = sheet.LastRow
last_col = sheet.LastColumn
if last_row > 0 and last_col > 0:
# Lire les en-têtes
for col in range(1, last_col + 1):
cell_value = sheet.Range[1, col].Value
headers.append(cell_value if cell_value else f"Column{col}")
# Lire les lignes de données
for row in range(2, last_row + 1):
row_data = {}
has_data = False
for col in range(1, last_col + 1):
cell = sheet.Range[row, col]
value = cell.Value
# Gérer les cellules de formule - exporter les résultats calculés
if cell.HasFormula:
value = cell.FormulaValue
row_data[headers[col - 1]] = value
if value is not None and str(value).strip():
has_data = True
if has_data:
sheet_data.append(row_data)
workbook_data[sheet_name] = sheet_data
print(f"Traité : {sheet_name} ({len(sheet_data)} lignes)")
with open("quarterly_reports.json", "w", encoding="utf-8") as f:
json.dump(workbook_data, f, indent=4, ensure_ascii=False)
print(f"{workbook.Worksheets.Count} feuilles de calcul exportées vers JSON")
workbook.Dispose()
Structure de sortie :
{
"Q1_Sales": [
{"Product": "Widget A", "Revenue": 15000, "Units": 500},
{"Product": "Widget B", "Revenue": 22000, "Units": 730}
],
"Q2_Sales": [
{"Product": "Widget A", "Revenue": 18000, "Units": 600},
{"Product": "Widget B", "Revenue": 25000, "Units": 830}
]
}
Avantages de l'utilisation de Spire.XLS
- Préserver la structure du classeur : Maintenir l'organisation des feuilles de calcul dans la sortie JSON
- Gérer correctement les formules : Exporter les valeurs calculées à partir des cellules de formule
- Traitement efficace en mémoire : Gérer les classeurs volumineux sans charger des fichiers entiers en mémoire
- Aucune dépendance Excel : Traiter les fichiers sans nécessiter l'installation de Microsoft Excel
- Multiplateforme : Fonctionne sous Windows, Linux et macOS
Comparaison Pandas vs Spire.XLS
| Fonctionnalité | Pandas | Spire.XLS |
|---|---|---|
| Open Source | ✓ | ✗ |
| Analyse de données | ✓ | ✓ |
| Résultats des formules | Limité | ✓ |
| Plusieurs feuilles de calcul | Basique | ✓ |
| Automatisation d'entreprise | Limité | ✓ |
| Efficacité mémoire | Modérée | ✓ |
| Support des fichiers volumineux | Limité | ✓ |
Pour les systèmes qui nécessitent un échange de données hiérarchique ou basé sur un schéma, vous pouvez également apprendre comment convertir Excel en XML en Python.
Défis courants lors de la conversion d'Excel en JSON
Plusieurs feuilles de calcul
Les classeurs contiennent souvent plusieurs feuilles de calcul liées. L'exportation de toutes les feuilles sous forme d'un seul tableau plat perd la structure organisationnelle. Utilisez une bibliothèque comme Spire.XLS pour préserver les noms des feuilles de calcul comme clés de premier niveau dans votre sortie JSON.
Cellules de formule
Les formules Excel calculent des valeurs dynamiquement. Lors de l'exportation vers JSON, vous souhaitez généralement le résultat calculé, pas la chaîne de formule. Spire.XLS fournit la propriété FormulaValue pour exporter les valeurs calculées, tandis que Pandas lit les valeurs affichées par défaut.
Formatage des dates
Excel stocke les dates sous forme de dates numériques sérielles. Sans gestion explicite, les dates peuvent être exportées sous forme de nombres dénués de sens comme 45662 au lieu de "2026-05-01". Convertissez les colonnes de date en chaînes ISO 8601 pour la compatibilité JSON.
Cellules vides et valeurs nulles
Les cellules vides peuvent être représentées comme null, omises entièrement ou exportées comme des chaînes vides. Utilisez null pour les valeurs manquantes et des chaînes vides pour les cellules explicitement vides afin de préserver l'intention des données.
Quelle méthode choisir ?
| Scénario | Méthode recommandée | Raison |
|---|---|---|
| Conversion ponctuelle rapide | Convertisseur en ligne | Aucune configuration, le plus rapide pour une utilisation occasionnelle |
| Flux de travail d'analyse de données | Pandas | S'intègre aux pipelines d'analyse |
| Classeurs complexes avec plusieurs feuilles | Spire.XLS | Préserve la structure, gère les formules |
| Fichiers volumineux (>100 Mo) | Spire.XLS | Traitement efficace en mémoire |
| Données sensibles/confidentielles | Spire.XLS (local) | Aucune transmission de serveur externe |
FAQ
Excel peut-il enregistrer directement en JSON ?
Non. La boîte de dialogue Enregistrer sous d'Excel prend en charge XLSX, XLS, CSV, PDF et XML, mais pas JSON. Vous avez besoin d'un convertisseur en ligne, d'une bibliothèque Python ou d'un script personnalisé pour exporter des données Excel vers JSON.
Comment exporter des données Excel vers un fichier JSON ?
Choisissez votre outil, chargez le fichier Excel, extrayez les données de la feuille de calcul, transformez les lignes en objets JSON avec les en-têtes de colonne comme clés, et écrivez la sortie dans un fichier .json.
Avec Pandas :
import pandas as pd
df = pd.read_excel("data.xlsx")
df.to_json("data.json", orient="records", indent=4)
Quelle est la meilleure bibliothèque Python pour convertir Excel en JSON ?
- Pandas : Idéal pour les flux de travail d'analyse de données avec des transformations puissantes, mais charge des fichiers entiers en mémoire et ne peut pas préserver les formules.
- Spire.XLS : Idéal pour les scénarios d'entreprise avec des fichiers volumineux, plusieurs feuilles de calcul et la gestion des formules.
Comment exporter plusieurs feuilles de calcul vers JSON ?
Utilisez Spire.XLS pour itérer sur les feuilles de calcul et les organiser dans un dictionnaire avec les noms des feuilles comme clés :
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("multi_sheet.xlsx")
result = {}
for sheet in workbook.Worksheets:
sheet_data = [] # Extraire les données de la feuille
# ... logique d'extraction ...
result[sheet.Name] = sheet_data
with open("output.json", "w") as f:
json.dump(result, f, indent=4)
Les formules peuvent-elles être préservées lors de la conversion d'Excel en JSON ?
Les formules elles-mêmes ne peuvent pas être préservées en JSON car JSON est un format de données statique. Cependant, vous pouvez exporter les résultats calculés des formules. Utilisez la propriété FormulaValue de Spire.XLS pour obtenir les valeurs calculées au lieu des chaînes de formule.
Comment gérer les gros fichiers Excel lors de l'exportation vers JSON ?
Évitez Pandas pour les gros fichiers — il charge tout en mémoire. Utilisez Spire.XLS pour un accès cellule par cellule efficace en mémoire. Pour des ensembles de données très volumineux, envisagez le format JSON délimité par des lignes (JSONL), où chaque ligne est un objet JSON distinct, permettant un traitement en flux.
Conclusion
L'exportation d'Excel vers JSON comble le fossé entre les données de tableur et les applications modernes. Pour des conversions rapides, les outils en ligne font le travail sans aucune configuration. Lorsque vous avez besoin de capacités d'analyse de données, Pandas offre des transformations puissantes. Pour les scénarios d'entreprise avec des fichiers volumineux, plusieurs feuilles de calcul ou la gestion des formules, Spire.XLS offre le contrôle et la précision dont vous avez besoin. Choisissez en fonction de la taille de votre fichier, de sa complexité et de vos exigences de flux de travail.
Lectures supplémentaires :