Convertir Excel en JSON
Transformez un classeur Excel en enregistrements propres qu'une application peut exploiter : dans l'exemple, trois lignes sortent, avec l'âge d'Ada Lovelace sous forme du nombre 36 et un nom arabe intact. Les dates deviennent lisibles et les formules donnent leur résultat. Vous payez à l'usage, sans abonnement.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Il prend la première feuille, utilise sa ligne d’en-têtes comme noms de clés, puis transforme chaque ligne en objet. Pensé pour les développeurs et les intégrateurs qui doivent alimenter une application à partir d’un fichier Excel fourni par un service métier.
Pourquoi un fichier Excel est plus difficile à lire qu'il n'y paraît
Un tableur ressemble à une simple grille, mais un fichier .xlsx est en réalité un paquet compressé de documents XML qui décrivent les feuilles, les styles, les textes partagés et un sommaire de tout le classeur. Écrire un lecteur à partir de zéro représente donc bien plus de travail qu'on ne l'imagine. Le format est arrivé au milieu des années 2000 pour remplacer l'ancien XLS binaire, en échangeant une structure compacte mais fermée contre une autre que d'autres outils pouvaient lire, du moins en théorie. En pratique, cette ouverture ne l'a pas simplifié : elle a déplacé la complexité d'un fichier binaire vers un long ensemble de documents, et c'est de cette couche que l'outil se charge.
Les habitudes de tableur qui piègent les lecteurs automatiques
Au-delà du format, les tableurs portent des habitudes humaines. La ligne d'en-tête commence à la troisième ligne parce que quelqu'un a ajouté un titre au-dessus. Une colonne de dates est stockée comme un numéro de série interne compté depuis 1900, et non comme du texte lisible. Les formules doivent être calculées, pas lues telles quelles, et les cellules fusionnées décalent une lecture ligne par ligne. Le classeur est lu comme le ferait une personne : les lignes d'en-tête sont repérées et servent de noms, les dates reviennent sous une forme lisible et les formules renvoient leur valeur calculée. Dans l'exemple, les âges arrivent en nombres, les valeurs oui ou non restent vrai ou faux, et une note avec symboles, accents et caractères japonais est conservée telle quelle.
Feuille et en-têtes
Par défaut, l’outil traite la première feuille du classeur et considère sa première ligne comme les en-têtes de colonnes. Chaque ligne de données devient un objet dont les clés reprennent ces en-têtes. Les cellules fusionnées et les lignes de titre décoratives peuvent gêner cette lecture : un classeur dont la première ligne contient bien les noms de colonnes donne le résultat le plus propre.
Nombres, dates et types
Excel stocke les dates et les nombres dans un format interne particulier. Vérifiez tout de même les colonnes sensibles, notamment les codes qui commencent par un zéro, qu’un tableur a parfois tendance à tronquer à la saisie.
Pourquoi ce traitement passe par nos serveurs
Le format .xlsx est un fichier binaire compressé, que le navigateur ne sait pas ouvrir directement de façon fiable. La conversion s’exécute donc côté serveur.
Prix et facturation
Le prix du service est toujours affiché en dollars, indépendamment de la devise de vos propres données. C’est un tarif à l’usage: vous ne payez que les conversions que vous lancez réellement, ce qui convient aussi bien au fichier ponctuel qu’à un traitement régulier.
Questions fréquentes
Combien coûte une conversion ?
Il n’y a ni abonnement ni frais fixe : vous ne payez que ce que vous convertissez.
Quelle feuille du classeur est convertie ?
La première feuille par défaut. Un classeur dont la feuille utile est en tête et dont la première ligne contient les en-têtes donne le meilleur résultat.
Les dates Excel sont-elles bien gérées ?
Oui, elles sont restituées en valeurs lisibles plutôt qu’en codes internes. Contrôlez néanmoins les colonnes de codes à zéro initial.
Mon fichier est-il conservé après le traitement ?
Non. Il est traité puis écarté ; il n’est pas gardé sur nos serveurs au-delà de la conversion.
Les formules sont-elles converties en valeurs ?
Oui. Une cellule qui contient une formule renvoie sa valeur calculée, et non le texte de la formule. Le système qui reçoit les données obtient donc le chiffre affiché dans le tableur, sans avoir à refaire le calcul.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/data/xlsx-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"xlsx":"https://ejemplo.com/libro.xlsx"}'const res = await fetch("https://api.kit.forhosting.com/data/xlsx-to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"xlsx": "https://ejemplo.com/libro.xlsx"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/xlsx-to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"xlsx": "https://ejemplo.com/libro.xlsx"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/xlsx-to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"xlsx":"https://ejemplo.com/libro.xlsx"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"xlsx":"https://ejemplo.com/libro.xlsx"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/xlsx-to-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"xlsx": "https://ejemplo.com/libro.xlsx"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.xlsx_to_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cet outil lit un classeur Excel au format .xlsx et le convertit en JSON.
Nombres, dates et types
L’outil les restitue en valeurs JSON exploitables plutôt qu’en codes bruts, pour qu’une date reste une date lisible et qu’un montant reste un nombre.
Pourquoi ce traitement passe par nos serveurs
Vous la lancez depuis cette page ou par appel programmable, mais dans les deux cas le fichier est déposé, traité, puis le résultat vous est renvoyé sans être conservé au-delà du traitement.
Prix et facturation
Chaque conversion coûte $0.002, sans abonnement.
Cas d'intégration
Importer un catalogue produits
Une agence reçoit le catalogue d’Atelier Garnier SARL dans un classeur Excel et doit l’injecter dans une boutique en ligne. Le JSON obtenu se branche directement sur l’import du site.
Exploiter un tableau de suivi
Thomas Rousseau tient un suivi de commandes sous Excel. Converti en JSON, ce tableau alimente un tableau de bord interne mis à jour automatiquement.
Migrer des données métier
Studio Lumen SAS récupère un fichier RH en .xlsx et le transforme en JSON pour le charger dans une nouvelle application, sans ressaisie.
Questions techniques
Faut-il créer un compte pour l’utiliser ?
Non, l’achat se fait directement, sans inscription.
Quelle taille de fichier est acceptée ?
Jusqu’à 25 Mo par classeur.