JSON en Excel
Remettez à vos collègues métier un classeur plutôt qu'un fichier de données : les noms des champs forment la ligne d'en-tête, chaque enregistrement devient une ligne et les nombres sont enregistrés comme de vrais nombres, prêts pour un tableau croisé dynamique. 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.
Les clés forment la ligne d’en-têtes, chaque objet devient une ligne. Contrairement à un CSV, le résultat est un fichier Excel natif, avec des colonnes bien typées, que vous pouvez remettre tel quel à un interlocuteur qui ne travaille qu’avec un tableur.
Pourquoi un classeur plutôt qu'un fichier de données
Remettre un fichier de données brut à un collègue métier mène à une impasse : il lui faut quelque chose à ouvrir, filtrer et transmettre sans demander ce qu'est une accolade. Une équipe financière veut un classeur sur lequel bâtir un tableau croisé dynamique, un client attend un rapport qui s'ouvre dans son tableur et un responsable des opérations veut un fichier à joindre à un e-mail. Un CSV peut porter les mêmes valeurs, mais il ignore la notion de cellule typée : nombres et texte s'y confondent. Quand le fichier est destiné à être ouvert et lu plutôt que traité par un autre programme, un vrai classeur respecte son lecteur.
Ce que contient le fichier
Chaque nom présent dans les enregistrements devient un titre de la première ligne, dans l'ordre de sa première apparition, et chaque enregistrement occupe une ligne en dessous. Les valeurs numériques sont enregistrées comme de vrais nombres, prêts à être additionnés, triés et placés dans un tableau croisé dynamique ; vrai et faux deviennent des cellules oui ou non, et le reste est enregistré comme du texte. Une valeur absente laisse sa cellule vide. Le résultat est un véritable classeur à une feuille. L'outil attend des enregistrements plats : si un enregistrement contient une section imbriquée, aplatissez d'abord vos données.
Un vrai classeur, pas un CSV déguisé
Un CSV s’ouvre dans Excel mais reste un fichier texte, avec ses problèmes de séparateur et d’encodage. Ici, vous obtenez un .xlsx natif : les colonnes sont posées, les types respectés, et le fichier s’ouvre sans boîte de dialogue d’import. C’est la différence qui compte quand vous livrez un document à un client ou à un service qui attend un classeur propre et immédiatement présentable.
Ordre et nommage des colonnes
L’outil relève l’ensemble des clés de votre tableau pour composer les en-têtes. Si vos objets ne partagent pas exactement les mêmes clés, toutes sont représentées et les valeurs absentes restent vides.
Où lancer la conversion et à quel prix
Le format .xlsx est un binaire que le navigateur ne produit pas de façon fiable ; la génération se fait donc sur nos serveurs. Pas d’abonnement, pas de compte : le tarif est affiché en dollars et vous ne réglez que les conversions effectivement demandées.
Questions fréquentes
Quelle différence avec une conversion en CSV ?
Le CSV est un fichier texte qui dépend du séparateur et de l’encodage. Ici vous obtenez un classeur .xlsx natif, avec des colonnes propres, qui s’ouvre sans étape d’import.
Puis-je choisir l’ordre des colonnes ?
En gardant un ordre cohérent d’un objet à l’autre, vous obtenez des colonnes rangées comme prévu.
Dois-je m’inscrire ?
Non, la conversion se règle directement, sans création de compte.
Les nombres sont-ils enregistrés comme de vrais nombres ?
Oui. Les valeurs numériques deviennent des cellules numériques que l'on peut additionner, trier et utiliser dans un tableau croisé dynamique, vrai et faux deviennent des cellules oui ou non, et le reste est enregistré comme du texte.
Que se passe-t-il si mes enregistrements n'ont pas tous les mêmes champs ?
Chaque nom présent dans au moins un enregistrement obtient une colonne dans la ligne d'en-tête, et l'enregistrement qui n'a pas cette valeur laisse simplement la cellule vide. Aucun enregistrement n'est écarté à cause d'un champ manquant.
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/json-to-xlsx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"rows":[{"producto":"Café","precio":3.5,"stock":12}]}'const res = await fetch("https://api.kit.forhosting.com/data/json-to-xlsx", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"rows": [
{
"producto": "Café",
"precio": 3.5,
"stock": 12
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/json-to-xlsx",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"rows": [
{
"producto": "Café",
"precio": 3.5,
"stock": 12
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/json-to-xlsx", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"rows":[{"producto":"Café","precio":3.5,"stock":12}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"rows":[{"producto":"Café","precio":3.5,"stock":12}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/json-to-xlsx", 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
{
"rows": [
{
"producto": "Café",
"precio": 3.5,
"stock": 12
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.json_to_xlsx",
"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 transforme un tableau JSON en véritable classeur Excel au format .xlsx.
Ordre et nommage des colonnes
En gardant un ordre de clés cohérent dans votre JSON, vous maîtrisez l’ordre des colonnes du classeur, sans avoir à les réorganiser ensuite dans Excel.
Les structures imbriquées
Pour tenir dans une grille de tableur, ces sous-structures sont aplaties en colonnes, avec une notation qui garde la trace du chemin. Un JSON contient parfois des objets dans des objets. Si votre JSON est très profondément imbriqué, il peut être utile de le simplifier en amont pour obtenir un classeur plus lisible et plus facile à exploiter par le destinataire.
Où lancer la conversion et à quel prix
Vous la déclenchez depuis cette page ou via un appel programmable, pour $0.002 par classeur.
Cas d'intégration
Livrer un rapport présentable
Nadia Benali extrait des chiffres d’une API en JSON et doit les remettre à sa direction. Un classeur Excel se présente et se met en forme bien mieux qu’un fichier texte.
Fournir un export à un non-technicien
Une application interne de Menuiserie Rousseau & Fils sort ses données en JSON ; le gérant, lui, ne manipule qu’Excel. Le .xlsx règle la question.
Préparer un fichier de reporting mensuel
Sophie Nguyen génère chaque mois un classeur à partir des données JSON de son outil de suivi, prêt à annoter et à diffuser.
Questions techniques
Quel est le prix ?
$0.002 par classeur généré, sans abonnement ni frais d’ouverture de compte.
Mes données sont-elles gardées après la génération ?
Non, le JSON envoyé est traité pour produire le fichier, puis écarté ; il n’est pas conservé.
Quelle est la limite de taille ?
25 Mo pour le JSON fourni.