JSON a Excel
Entregarle un archivo JSON a alguien del negocio es un callejón sin salida: necesita algo que pueda abrir, filtrar y pasarle a un colega sin preguntar qué es una llave. Este endpoint toma su JSON y genera un libro XLSX real, con cabeceras de columna reales, celdas correctamente tipadas y formato aplicado automáticamente, en vez de un muro de texto crudo pegado en la columna A.
Esta tarea no está disponible ahora mismo, así que no se puede contratar. No se cobra nada por ella.
Cómo funciona y APILa brecha entre una respuesta de API y un entregable
La mayoría de los procesos de negocio terminan con alguien abriendo un archivo, no llamando a un endpoint. Finanzas quiere un libro sobre el que armar una tabla dinámica, un cliente espera un reporte que abra directo en su hoja de cálculo, operaciones quiere un archivo que pueda enviar por correo sin explicar qué es JSON. Enviarles la salida cruda de una API no funciona, y escribir a mano un generador de XLSX que se vea intencional —anchos de columna correctos, celdas tipadas, una cabecera que visualmente lo es— implica una cantidad sorprendente de lógica de formato para algo que debería sentirse trivial.
Cómo se ve realmente el archivo generado
Envíe JSON a POST /data/json-to-xlsx y la respuesta es un libro donde los nombres de campo se vuelven cabeceras, los campos numéricos se guardan como números reales en lugar de texto que solo parece un número, las fechas usan el tipo de fecha nativo de Excel para que ordenar y filtrar funcionen desde el primer momento, y los anchos de columna se ajustan a un valor sensato según el contenido en lugar del ancho diminuto por defecto que hace ver inacabada a cualquier hoja recién creada. El resultado se abre luciendo cuidado, no un volcado crudo.
Los datos anidados reciben una respuesta defendible, no una rota
El JSON anida objetos y arreglos dentro de un registro con frecuencia, y una hoja de cálculo no puede representar eso de forma nativa. En lugar de fallar o volcar un bloque ilegible dentro de una celda, las estructuras anidadas se aplanan en columnas claramente nombradas usando la misma lógica de notación de punto que aplicaría a mano un analista cuidadoso, así que un pedido con datos anidados de cliente y envío se convierte en una fila coherente en lugar de una cadena inutilizable de caracteres escapados.
Por qué XLSX específicamente, y no solo CSV
El CSV puede transportar los mismos valores pero elimina todo lo que hace que una hoja se sienta terminada: no tiene celda tipada, ni ancho de columna, ni estilo distinto para la cabecera, ni soporte para varias hojas. El XLSX, como formato estructurado sobre XML en lugar de texto plano, conserva todo eso, lo cual importa cuando el archivo está destinado a una persona y no a otro programa. Cuando el entregable está pensado para abrirse y leerse, no solo para analizarse, el XLSX respeta a quien lo recibe.
Dónde encaja en un flujo de reportes
Como la tarea corre de forma asíncrona, funciona bien como el paso final de un pipeline de reportes: reúne registros desde su aplicación, genera el libro aquí, y lo entrega directamente a una bandeja de entrada o unidad compartida sin que un script tenga que gestionar la lógica de formato. Recibe un task_id de inmediato al enviar la solicitud, y el archivo XLSX terminado llega por webhook, listo para enviarse tal cual.
Qué puede hacer con ella
Reportes automáticos para clientes
Convierta datos de una API en un reporte XLSX pulido y entregado según un calendario, sin que alguien tenga que armar la hoja de cálculo manualmente cada vez.
Entregables de finanzas y operaciones
Genere libros con columnas numéricas y de fecha correctamente tipadas que un equipo de finanzas puede llevar directo a una tabla dinámica.
Exportaciones de ventas o inventario
Convierta registros JSON anidados, como pedidos con sus líneas de producto, en un libro legible de varias columnas para un equipo de ventas o de almacén.
Entrega a personas no técnicas
Entregue los resultados de una API a un cliente o socio como un archivo de Excel conocido, en vez de un JSON que no tienen forma de abrir.
Preguntas frecuentes
¿La API de JSON a Excel conserva los tipos de dato como números y fechas?
Sí, los campos numéricos se escriben como números reales y las fechas usan el tipo de fecha nativo de Excel, así que ordenar, filtrar y usar fórmulas funciona correctamente sin reformatear a mano.
¿Cómo maneja los objetos o arreglos anidados dentro del JSON?
Las estructuras anidadas se aplanan en columnas claramente nombradas usando notación de punto, así que un registro con campos anidados se convierte en una fila legible en lugar de un bloque de texto inutilizable.
¿Hay una prueba gratuita para el endpoint de JSON a Excel?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿El archivo XLSX generado tendrá columnas con formato, o solo datos crudos?
El ancho de columna y el estilo de la cabecera se aplican automáticamente según sus datos, así que el archivo se abre luciendo terminado y no como una exportación cruda.
¿Puedo generar un archivo XLSX a partir de un arreglo JSON grande?
Sí, envíe el arreglo como una sola solicitud asíncrona; se procesa como una única tarea y devuelve un libro completo.
¿Qué pasa si falla la generación de JSON a XLSX?
La tarea se reintenta automáticamente hasta tres veces, y si aun así falla, recibe un error claro sin cargo por el intento.
¿Cómo recibo el archivo de Excel generado?
Mediante un webhook firmado, recomendado para entrega automatizada, o un enlace firmado válido durante 24 horas para descarga manual.
¿Cuánto cuesta generar un archivo XLSX a partir de JSON?
$0.002 por solicitud, cobrado únicamente por archivos generados con éxito.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/data/json-to-xlsx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'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({
"text": "…"
})
});
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={
"text": "…"
},
)
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" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
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)Ejemplo de solicitud
{
"text": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.json_to_xlsx",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |