Excel a JSON
Convierta un libro de Excel en registros limpios que una aplicación puede usar: en el ejemplo salen tres filas, con la edad de Ada Lovelace como el número 36 y un nombre en árabe intacto. Las fechas quedan legibles y las fórmulas dan su resultado. Paga por uso, sin suscripción.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Los archivos de Excel cargan más que valores: celdas combinadas, varias hojas, fórmulas que se resuelven en un número pero se almacenan como una expresión, fechas que en realidad son un número de serie contado desde 1900.
Por qué un Excel es más difícil de leer de lo que parece
Una hoja de cálculo parece una cuadrícula sencilla, pero un archivo .xlsx es en realidad un paquete comprimido de documentos XML que describen las hojas, los estilos, los textos compartidos y un índice de todo el libro. Por eso escribir un lector desde cero es mucho más trabajo del que aparenta. El formato llegó a mediados de la década de 2000 para sustituir al antiguo XLS binario, y cambió una estructura compacta pero cerrada por otra que otras herramientas podían leer, al menos en teoría. En la práctica esa apertura no lo simplificó: trasladó la complejidad de un archivo binario a un conjunto largo de documentos, y esa es la capa de la que se ocupa esta herramienta.
Las costumbres de las hojas que confunden a los lectores automáticos
Además del formato, las hojas de cálculo arrastran costumbres humanas. La fila de encabezados empieza en la tercera porque alguien puso un título encima. Una columna de fechas se guarda como un número de serie interno contado desde 1900 en lugar de como texto legible. Las fórmulas hay que calcularlas, no leerlas tal cual, y las celdas combinadas descuadran una lectura fila por fila. El libro se lee como lo leería una persona: se detectan las filas de encabezado y se usan como nombres, las fechas vuelven como fechas legibles y las fórmulas devuelven su valor calculado. En el ejemplo, las edades llegan como números, los valores de sí o no siguen siendo verdadero o falso, y una nota con símbolos, tildes y caracteres japoneses se conserva tal cual.
Por qué los archivos de Excel se resisten a un análisis ingenuo
Un archivo XLSX es, técnicamente, un paquete comprimido de documentos XML que describen hojas, estilos y un manifiesto del libro, razón por la cual escribir un analizador desde cero es una tarea mucho más grande de lo que parece.
Más allá del formato en sí, las hojas de cálculo cargan hábitos humanos que confunden a los lectores automáticos: una cabecera que empieza en la fila tres porque alguien agregó un título encima, fechas guardadas como número de serie interno en vez de texto legible, fórmulas que hay que evaluar en lugar de leer literalmente, y celdas combinadas que desalinean por completo una lectura fila por fila.
Preguntas frecuentes
¿Cómo se convierten las fechas de Excel?
Las fechas guardadas internamente como el formato numérico de serie de Excel se convierten automáticamente a cadenas de fecha estándar y legibles, así que nunca tiene que calcular el desfase usted mismo.
¿Lee el resultado de las fórmulas o el texto de la fórmula?
Devuelve el valor calculado de las celdas con fórmula, no la expresión subyacente, igual que vería al abrir la hoja de cálculo.
¿Puede manejar celdas combinadas o cabeceras que no empiezan en la fila uno?
Sí, la detección de cabeceras contempla patrones comunes como filas de cabecera desplazadas, aunque diseños personalizados muy irregulares se leen de la forma más literal posible.
¿Qué pasa si el archivo XLSX está dañado o falla al analizarse?
La tarea se reintenta automáticamente hasta tres veces; si aun así no puede analizarse, recibe un error claro sin cargo por el intento fallido.
¿Qué pasa si el libro tiene varias hojas?
Cada hoja llega por separado, sin mezclarse con las demás ni perderse. Encaja con la exportación habitual que deja un resumen en una hoja y el detalle en otra, porque ambas llegan al siguiente sistema con su propia forma.
Herramientas relacionadas
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, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"xlsx": "https://ejemplo.com/libro.xlsx"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.xlsx_to_json",
"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. |
Notas técnicas
Este endpoint lee un archivo XLSX como lo haría una persona, hoja por hoja, y devuelve JSON estructurado con el valor real de cada celda, no sus particularidades de hoja de cálculo.
Lo que la conversión realmente resuelve
Si su libro tiene varias hojas —un patrón común en exportaciones que separan resumen y detalle— cada una llega distinta en la respuesta en lugar de fusionarse o perderse. Llame a POST /data/xlsx-to-json con su archivo y cada hoja se lee en su propia estructura JSON, con las cabeceras detectadas y usadas como nombres de campo, las fechas convertidas desde el número de serie interno de Excel a cadenas estándar y legibles, y las celdas con fórmulas devueltas como su valor calculado, no como el texto de la fórmula.
Una breve nota sobre el origen del XLSX
La hoja de cálculo se remonta a los primeros días de la computación personal, y el formato XLSX llegó a mediados de los años dos mil como reemplazo basado en XML del antiguo formato binario XLS, cambiando un diseño compacto pero opaco por uno que, al menos en teoría, otras herramientas podían leer. En la práctica, esa apertura no hizo simple al XLSX, solo trasladó la complejidad de una especificación binaria a una XML verbosa, que es exactamente la capa que este endpoint absorbe por usted.
Quién recurre más a esto
Esto aparece constantemente en flujos donde el dato se origina fuera de sus propios sistemas: un cliente envía por correo una hoja de presupuesto, un portal gubernamental solo exporta XLSX, un equipo de finanzas mantiene un libro maestro que nadie quiere migrar. En lugar de pedirle a personas no técnicas que cambien cómo trabajan, la conversión ocurre de su lado, transformando su formato habitual en el JSON que su aplicación ya entiende.
Cómo encaja en la automatización
Como la tarea es asíncrona, encaja de forma natural donde un archivo XLSX llega de manera impredecible: un adjunto de correo procesado por una automatización de bandeja de entrada, un archivo dejado en una carpeta compartida, un formulario de carga en una herramienta interna. Recibe un task_id en el momento en que envía el archivo, y el JSON analizado, organizado por hoja, llega por webhook para que los pasos siguientes puedan empezar en cuanto esté listo.
Casos de integración
Archivos de presupuesto enviados por clientes
Analice automáticamente presupuestos o proyecciones en XLSX enviados por correo por clientes y conviértalos en JSON que su sistema de finanzas puede ingerir sin captura manual.
Exportaciones de datos gubernamentales o institucionales
Convierta exportaciones XLSX de portales que solo ofrecen descarga en Excel en JSON usable dentro de un pipeline de datos moderno.
Procesamiento de libros con varias hojas
Lea un libro con hojas separadas por región o línea de producto y reciba cada hoja como su propia estructura JSON distinta.
Cargas de archivos en herramientas internas
Permita que el equipo suba un archivo de Excel conocido a través de una herramienta interna y conviértalo a JSON por detrás para su procesamiento.
Preguntas técnicas
¿La API de Excel a JSON maneja varias hojas en un mismo libro?
Sí, cada hoja se analiza y se devuelve como su propia estructura distinta dentro de la respuesta JSON, así que los libros con varias hojas nunca se fusionan de forma incorrecta.
¿Hay alguna forma gratuita de probar el endpoint de XLSX a JSON?
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.
¿Cómo recibo el JSON resultante?
Mediante un webhook firmado, recomendado para flujos automatizados, o un enlace firmado válido durante 24 horas para descarga manual.
¿Cuánto cuesta convertir un archivo de Excel a JSON?
$0.002 por solicitud, cobrado únicamente por conversiones exitosas.