Saltar al contenido principal
short.cl

Excel a JSON

Convierte tu XLSX en JSON estructurado para APIs, seeds, mocks o ingesta programática.

100% local, tu archivo no sale de tu navegador

Todo el procesamiento ocurre en tu dispositivo. No subimos nada a ningún servidor.

Arrastra un archivo Excel

Se convertirá a JSON. Todo ocurre en tu navegador.

Excel a JSON: del negocio al código

Muchos datos nacen en Excel: el equipo de operaciones mantiene catálogos, el área comercial trackea cuentas, finanzas maneja forecasts. Cuando esos datos deben viajar a un sistema automatizado — una API, un pipeline ETL, una base NoSQL — el formato esperado es JSON. La conversión Excel → JSON es el puente habitual entre ambos mundos.

Estructura del JSON resultante

El conversor produce dos formatos posibles:

  • Array de objetos: cada fila de Excel se convierte en un objeto JSON con las claves siendo los nombres de columna. Es el formato directo para APIs REST y para consumo JavaScript.
  • Array de arrays: la primera entrada son los headers; las siguientes son arrays con los valores. Más compacto, pero menos legible.

Manejo de tipos

XLSX distingue tipos explícitamente (a diferencia de CSV). Al exportar a JSON preservamos:

  • Números: enteros y decimales mantienen tipo numérico. 150 queda como 150, no como “150”.
  • Booleanos: TRUE/FALSE se exportan como true/false JSON.
  • Celdas vacías: null en JSON (no string vacío).
  • Texto: string literal, preservando tildes, ñ, emojis.
  • Fechas: Excel las guarda como número serial (ej: 45032 = 2023-04-02). Cuando la celda tiene formato fecha aplicado, intentamos convertir a ISO string. Si ves números en lugar de fechas, el formato original no era fecha — aplicalo en Excel antes de exportar.

Workbooks con múltiples hojas

JSON puede modelar estructura anidada, pero este conversor exporta una hoja por JSON — simple y predecible. Si tu workbook tiene 3 hojas, generarás 3 JSON separados (selector de hoja).

Si necesitas todas las hojas en un solo JSON con estructura, conviene escribir un pequeño script con SheetJS:

const XLSX = require('xlsx')
const wb = XLSX.readFile('archivo.xlsx')
const result = {}
for (const name of wb.SheetNames) {
  result[name] = XLSX.utils.sheet_to_json(wb.Sheets[name])
}
console.log(JSON.stringify(result, null, 2))

Fórmulas

Celdas con fórmulas exportan el valor evaluado, consistente con lo que Excel mismo haría al “Guardar como → JSON” (si existiera esa opción). Una celda con =SUMA(A1:A10) y resultado 150 exporta el número 150, no la fórmula.

Casos de uso

Alimentar APIs REST. El área comercial te pasa un XLSX con cambios masivos de productos. Para cargar via POST /productos, la conversión a JSON es el paso inmediato.

Seeds de desarrollo. La base de datos de staging necesita datos de prueba realistas. El equipo de negocio mantiene los datos en Excel — conviértelos a JSON para usar como seed en scripts de Rails/Django/Prisma.

Fixtures de testing. QA diseña casos de prueba en Excel (columnas para input, expected output, edge cases). Convertís a JSON para consumirlos como fixtures en el test runner.

Configuración dinámica de aplicación. Un feature flag service o config remoto que consume JSON. El equipo de producto cambia los valores en Excel y un pipeline los convierte y publica.

Ingesta en MongoDB o Firestore. Estas DB trabajan nativamente con JSON. El import masivo desde Excel pasa por esta conversión.

Casos en Chile

APIs del Estado chileno. Algunas APIs del SERNAC, Servicio Electoral, Dirección del Trabajo aceptan POST con JSON. Los datos de origen suelen ser planillas Excel mantenidas por las áreas operativas.

Integración con e-commerce. Catálogos de productos mantenidos en Excel se cargan a Magento, Shopify o WooCommerce vía API — formato esperado es JSON.

Sincronización HRMS. Los sistemas de RR.HH. (BambooHR, Buk, Tikets) tienen APIs JSON para cargar empleados. El listado viene de Excel mantenido por finanzas.

Automatización contable. Defontana, Softland y ERPNext tienen endpoints JSON para comprobantes, asientos, clientes. Convertir el export Excel del proveedor a JSON es el paso intermedio.

Errores comunes

Fechas como números. Una celda con formato “general” pero con un número 45032 va a exportar como número crudo. Aplicá formato fecha explícito en Excel y reexporta.

Números con coma decimal. Si tu Excel muestra “1.500,50” (locale es-CL), el valor interno es el número 1500.5 y eso es lo que exportamos. El formato visual no viaja al JSON.

Celdas combinadas (merge). Las celdas combinadas toman el valor de la esquina superior izquierda y dejan las demás vacías. Si tu XLSX tiene merges decorativos, el JSON puede tener nulls inesperados. Desmergea antes de exportar.

Hoja con headers extraños. Si la fila 1 no son headers sino un título (“Reporte de Ventas 2026”) y los headers reales están en la fila 2, el parser va a tomar el título como header. Borrá filas decorativas antes.

Privacidad

La conversión es 100% local. Para un XLSX con datos de empleados, transacciones bancarias, información médica o cualquier dato sensible, mantener el procesamiento en el navegador es la opción responsable. No hay servidor que pudiera loguear, almacenar o filtrar el contenido.

Herramientas relacionadas

Preguntas frecuentes

¿Elige la hoja si el XLSX tiene varias?

Sí. Al cargar un workbook con múltiples hojas te mostramos un selector. Cada hoja genera su propio JSON — procesa una por una. Si necesitas todas las hojas en un solo JSON, usa un script con SheetJS o Pandas.

¿Convierte fechas de Excel?

Las fechas de Excel se guardan como números seriales (días desde 1900). Las convertimos a string ISO al exportar a JSON. Si aparecen como números en el output, el origen probablemente tenía formato fecha aplicado pero el valor subyacente era numérico — aplica formato explícito en Excel primero.

¿Preserva tipos?

Sí. Números como números, booleanos como booleanos, strings como strings. Celdas con fórmulas exportan el valor evaluado (igual que lo que muestra Excel), no la fórmula misma.

¿Qué formato de JSON genera?

Array de objetos (default, recomendado para APIs) o array de arrays (más compacto). Elegilo según el consumidor del JSON.

¿Cuántas filas soporta?

Decenas de miles. El cuello de botella es la memoria del navegador al parsear el XLSX — archivos hasta 100 MB generalmente funcionan. Para datasets masivos conviene pandas/openpyxl desktop.

¿Los datos se suben a algún servidor?

No. SheetJS parsea el XLSX localmente y la serialización JSON ocurre en el navegador. Ideal para datos sensibles.

Otras herramientas en este cluster