Excel/CSV a JSON

Importa CSV o XLSX: la primera fila son claves JSON. Ideal para APIs y bases desde hojas de cálculo.

{{ excelToJson.xlsxFileName }}

{{ t("excelToJsonXlsxHint") }}

{{ excelToJson.message }}

Descripción

Excel existe desde 1985 — nació primero en Macintosh (sí, antes de existir para Windows) como sucesor del Multiplan, que Microsoft vendía en años anteriores. A lo largo de cuatro décadas, Excel se convirtió en la aplicación de negocios más usada del planeta. Hay una estimación famosa de que más de 750 millones de personas usan Excel activamente, y que la mayor parte del PIB mundial pasa en algún momento por una celda de hoja de cálculo. Para los desarrolladores, Excel es esa herramienta que aparece en todo proyecto corporativo: el cliente tiene los datos 'en Excel', el equipo de negocio comparte las reglas de validación en una hoja de cálculo, el sistema legado exporta informes como XLSX. Saber convertir entre Excel y JSON es una habilidad práctica indispensable.

La necesidad de convertir hojas de cálculo a JSON aparece en varios escenarios: cuando recibes una base de datos inicial para poblar una aplicación nueva y los datos están en una hoja; cuando el equipo de contenido gestiona datos en Excel (productos, categorías, textos de marketing) y necesitas importarlos a una API o base de datos; cuando un sistema legado exporta informes en XLSX y necesitas procesar los datos programáticamente; o cuando quieres crear fixtures de tests a partir de datos reales pero anonimizados que viven en una hoja. En todos estos casos, la conversión manual sería tediosamente lenta y propensa a errores de tipeo.

En modo XLSX, esta herramienta lee el archivo completamente en el navegador usando SheetJS (xlsx.js), una de las bibliotecas más completas para parsear archivos Excel en JavaScript. Se lee la primera hoja; la primera fila se convierte en las claves de los objetos JSON; cada fila siguiente se convierte en un objeto del array. Las celdas con fórmulas devuelven el valor calculado (no la fórmula), y las celdas con fechas se convierten a strings ISO 8601. Las celdas vacías se convierten en string vacío. Una limitación importante: las hojas con múltiples pestañas, tablas dinámicas (pivot tables) o formato complejo solo leen la primera pestaña; las pivot tables específicamente no están soportadas porque almacenan metadatos de agrupación, no datos puros.

En modo CSV, se aplica la misma lógica que el conversor de CSV a JSON: coma como separador predeterminado, primera fila como cabecera, campos entre comillas soportados. Para archivos muy grandes — hojas con decenas de miles de filas — el procesamiento puede ser lento y consumir mucha memoria de la pestaña del navegador. En esos casos, prefiere herramientas de línea de comandos como `csvkit` (Python) o pandas, que manejan archivos grandes de forma mucho más eficiente. El resultado de esta herramienta está pensado para uso práctico del día a día: importaciones de datos de tamaño razonable, fixtures de tests y prototipado de APIs.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: CSV — sku,preco A1,19.90 B2,42.00

Fragmentos de Código

Ejemplo de código
sku,preco
A1,19.90
B2,42.00

CSV

sku,preco
A1,19.90
B2,42.00

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.