Tabla de Contenidos
- Prepara tu Estructura JSON
- Método 1 — Excel Power Query (Sin Código)
- Método 2 — Convertidor JSON en Línea (Rápido y Único)
- Método 3 — Python con pandas (Amigable para la Automatización)
- Método 4 — Python con Spire.XLS (Informes de Excel con Formato)
- Método 5 — Node.js con SheetJS (Flujo de Trabajo de JavaScript)
- Comparación Rápida de los 5 Métodos
- Mejores Prácticas para Convertir JSON a Excel
- Conclusión
- Preguntas Frecuentes

JSON es uno de los formatos más utilizados para almacenar e intercambiar datos estructurados. Las API, los archivos de configuración y muchas aplicaciones modernas utilizan JSON para representar conjuntos de datos.
Sin embargo, JSON no siempre es conveniente para el análisis, la generación de informes o el uso compartido con usuarios no técnicos. En muchos casos, convertir los datos JSON en una hoja de cálculo de Excel facilita la visualización, el filtrado, la clasificación y la presentación de la información.
Esta guía muestra cinco métodos prácticos para convertir JSON a Excel, que van desde soluciones sin código hasta enfoques programáticos.
Resumen de los métodos cubiertos:
- Método 1 — Excel Power Query (Sin Código)
- Método 2 — Convertidor JSON en Línea (Rápido y Único)
- Método 3 — Python con pandas (Amigable para la Automatización)
- Método 4 — Python con Spire.XLS (Informes de Excel con Formato)
- Método 5 — Node.js con SheetJS (Flujo de Trabajo de JavaScript)
Prepara tu Estructura JSON
Antes de convertir JSON a Excel, es importante comprender cómo la estructura de tus datos JSON afecta el proceso de conversión. Muchas herramientas de conversión asumen un formato específico, y las estructuras no coincidentes pueden causar resultados inesperados o errores.
Array Raíz vs. Objeto Raíz
Muchas herramientas de JSON a Excel esperan que los datos sean un array raíz de objetos, como este:
[
{"id":1,"name":"Alice"},
{"id":2,"name":"Bob"}
]
Esta estructura se asigna de forma natural a una tabla de Excel:
| id | nombre |
|---|---|
| 1 | Alice |
| 2 | Bob |
Cada objeto se convierte en una fila y las claves se convierten en encabezados de columna.
Sin embargo, muchas API y conjuntos de datos del mundo real envuelven el array dentro de un objeto raíz:
{
"employees":[
{"id":1,"name":"Alice"},
{"id":2,"name":"Bob"}
]
}
En este caso, el conjunto de datos tabular real se almacena dentro de la propiedad "employees".
Por Qué Algunas Herramientas Fallan con los Objetos Raíz
Algunos convertidores no pueden determinar automáticamente qué propiedad contiene el conjunto de datos tabular. Esperan que el archivo JSON comience directamente con un array.
Cuando los datos están envueltos dentro de un objeto raíz, estas herramientas pueden fallar al analizar el archivo correctamente o producir resultados vacíos.
Por lo tanto, es posible que debas extraer el array relevante manualmente antes de realizar la conversión. Por ejemplo, podrías reestructurar el JSON para que el array se convierta en el elemento raíz para un convertidor en línea, o acceder a él directamente en el código.
Accediendo al Array en Python
Por ejemplo, si el conjunto de datos se almacena en "employees", puedes cargarlo y extraerlo de esta manera:
data = json.load(f)["employees"]
Después de este paso, data se convierte en una lista de objetos, que se puede escribir fácilmente en Excel como filas y columnas.
Método 1 — Excel Power Query (Sin Código)
Si ya tienes Microsoft Excel instalado, puedes importar datos JSON directamente sin escribir ningún código. La función Power Query de Excel permite a los usuarios cargar archivos JSON y convertirlos automáticamente en un formato tabular. Este enfoque es ideal para analistas o usuarios de negocios que desean ver rápidamente los datos JSON dentro de un entorno de hoja de cálculo.
Pasos
- Inicia Microsoft Excel en tu computadora.
- Haz clic en la pestaña Datos ubicada en el menú superior de Excel.
- En la pestaña Datos, navega a Obtener Datos, luego selecciona Desde Archivo, y elige Desde JSON en el menú desplegable.
- Cuando se te solicite, busca y selecciona tu archivo JSON, luego haz clic en Importar.
- Se iniciará el Editor de Power Query.
-
Si el archivo se abre como una lista de registros:
- Haz clic en A la tabla para convertir la lista en un formato de tabla.
- Luego, haz clic en el icono Expandir (⇄) en el encabezado de la columna para revelar los nombres de las columnas. Si las columnas aún muestran "Lista" o "Registro," haz clic en el icono de expandir nuevamente para aplanar aún más.
- Aparecerá un cuadro de diálogo que te permitirá seleccionar qué campos deseas incluir en la tabla. Elige los campos necesarios, desmarca "Usar el nombre de columna original como prefijo" para obtener encabezados más limpios, y luego haz clic en Aceptar.



- Haz clic en Cerrar y Cargar para importar los datos estructurados a tu hoja de cálculo de Excel.
- Guarda tu archivo de Excel en formato .xlsx, asegurando que tus datos se conserven para uso futuro.



Cuándo usar este método
Ideal para conjuntos de datos pequeños y usuarios que prefieren una interfaz visual en lugar de la programación.
Método 2 — Convertidor JSON en Línea (Rápido y Único)
Los convertidores de JSON en línea ofrecen una de las formas más rápidas de convertir archivos JSON en hojas de cálculo de Excel. Estas herramientas generalmente solo requieren la carga de un archivo y generan automáticamente un archivo de Excel descargable. Plataformas como las ofrecidas por jsontoexcel.net pueden completar la conversión en segundos sin instalar ningún software.
Pasos
- Abre un sitio web de conversión de JSON a Excel.
- Copia y pega tus datos JSON directamente en el editor de texto, o sube un archivo desde tu computadora.
- Haz clic en el botón Convertir a Excel para iniciar el proceso de conversión.
- Descarga el archivo de Excel generado.


Nota Importante
La mayoría de los convertidores en línea esperan un array raíz de objetos; de lo contrario, pueden fallar silenciosamente o producir resultados inesperados. Este formato se convierte de manera más confiable a Excel.
Cuándo usar este método
Ideal para conversiones rápidas y únicas o para probar conjuntos de datos de muestra.
Método 3 — Python con pandas (Amigable para la Automatización)
Para desarrolladores e ingenieros de datos, Python proporciona una forma poderosa de automatizar las conversiones de JSON a Excel. La popular biblioteca de análisis de datos pandas puede cargar fácilmente archivos JSON, transformarlos en un DataFrame estructurado y exportar los resultados a Excel. Este método es particularmente útil cuando la conversión necesita integrarse en scripts, flujos de trabajo de ETL o canalizaciones de informes automatizados.
Instalar Dependencias
pip install pandas openpyxl
Convertir JSON a Excel
import pandas as pd
import json
with open("employees.json") as f:
data = json.load(f)["employees"]
df = pd.json_normalize(data)
df.to_excel("output.xlsx", index=False)
Salida:

Cuándo usar este método
Ideal para el procesamiento automatizado de datos, flujos de trabajo de análisis y grandes conjuntos de datos.
Método 4 — Python con Spire.XLS (Informes de Excel con Formato)
Si tu objetivo es generar informes de Excel bien formateados, Python puede trabajar con Spire.XLS para crear hojas de cálculo programáticamente. A diferencia de las bibliotecas de exportación de datos simples, Spire.XLS proporciona un control extenso sobre el formato de Excel, incluyendo fuentes, colores, alineación y tamaño de las columnas. Esto lo hace adecuado para producir hojas de cálculo profesionales que están listas para compartir con las partes interesadas.
Instalar la Biblioteca
pip install spire.xls
Código de Ejemplo
El siguiente script lee datos de empleados en formato JSON, genera dinámicamente encabezados de columna, escribe filas en Excel y aplica formato como estilo de encabezado, colores de fila alternos y columnas autoajustadas.
import json
from spire.xls import *
# Load JSON data
with open('C:/Users/Administrator/Desktop/employees.json') as f:
data = json.load(f)["employees"]
if not data:
raise ValueError("JSON data is empty!")
# Create workbook and worksheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Extract headers dynamically
headers = list(data[0].keys())
num_cols = len(headers)
# Write headers
for col, header in enumerate(headers, start=1):
sheet.Range[1, col].Value = header
# Write rows
for row_index, item in enumerate(data, start=2):
for col_index, key in enumerate(headers, start=1):
value = item.get(key, "")
sheet.Range[row_index, col_index].Value = str(value) if value is not None else ""
# Header formatting
header_row = sheet.Range[1, 1, 1, num_cols]
header_row.RowHeight = 30
header_style = header_row.Style
header_style.Font.FontName = "Times New Roman"
header_style.Font.Size = 16
header_style.Font.Color = Color.get_White()
header_style.Color = Color.FromArgb(255, 128, 128, 128)
header_style.HorizontalAlignment = HorizontalAlignType.Center
header_style.VerticalAlignment = VerticalAlignType.Center
# Data formatting
locatedRange = sheet.AllocatedRange
for rowNum in range(2, locatedRange.RowCount + 1):
data_row = sheet.Range[rowNum, 1, rowNum, num_cols]
data_row.RowHeight = 20
row_style = data_row.Style
row_style.Font.FontName = "Times New Roman"
row_style.Font.Size = 13
row_style.HorizontalAlignment = HorizontalAlignType.Center
row_style.VerticalAlignment = VerticalAlignType.Center
row_style.Color = Color.get_White() if rowNum % 2 == 0 else Color.FromArgb(255, 245, 245, 245)
# Auto-fit columns
extra_width = 3
for col in range(1, num_cols + 1):
sheet.AutoFitColumn(col)
current_width = sheet.Columns[col - 1].ColumnWidth
sheet.Columns[col - 1].ColumnWidth = current_width + extra_width
workbook.SaveToFile("JsonToExcel.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Salida:

Cuándo usar este método
Ideal para la generación automatizada de informes, aplicaciones que requieren un formato preciso de Excel y flujos de trabajo donde los archivos de Excel son el entregable final.
También te puede interesar: Convertir JSON a/desde Excel en Python – Guía Completa con Ejemplos
Método 5 — Node.js con SheetJS (Flujo de Trabajo de JavaScript)
Los desarrolladores de JavaScript pueden convertir JSON a Excel utilizando bibliotecas como SheetJS. Esta biblioteca proporciona utilidades para transformar objetos JSON en hojas de cálculo y escribirlos en archivos .xlsx. Debido a que funciona bien en entornos de Node.js, se usa comúnmente en servicios de backend y scripts de procesamiento de datos.
Instalar
npm install xlsx
Ejemplo
const XLSX = require("xlsx");
const fs = require("fs");
const data = JSON.parse(fs.readFileSync("employees.json")).employees;
const worksheet = XLSX.utils.json_to_sheet(data);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "Employees");
XLSX.writeFile(workbook, "output.xlsx");
Salida:

Cuándo usar este método
Ideal para aplicaciones web, backends de Node.js y flujos de trabajo de automatización basados en JavaScript.
Comparación Rápida de los 5 Métodos
Cada método para convertir JSON a Excel sirve a un tipo diferente de usuario y flujo de trabajo. Algunos enfoques se centran en la simplicidad y la velocidad, mientras que otros proporcionan automatización y control de formato para escenarios más avanzados. La siguiente tabla resume las diferencias clave para ayudarte a elegir la opción más adecuada.
| Método | Nivel de Habilidad | Automatización | Ideal Para | Limitaciones |
|---|---|---|---|---|
| Excel (Power Query) | Principiante | No | Conversión manual rápida y exploración de datos | Requiere pasos manuales; limitado para flujos de trabajo repetidos |
| Convertidor en Línea | Principiante | No | Conversiones únicas y pruebas rápidas | Límites de tamaño de archivo; posibles preocupaciones de privacidad |
| Python con pandas | Intermedio | Sí | Canalizaciones de datos, análisis y grandes conjuntos de datos | Control limitado sobre el formato avanzado de Excel |
| Python con Spire.XLS | Intermedio | Sí | Generación de informes profesionales de Excel | Requiere configuración de biblioteca adicional |
| Node.js con SheetJS | Intermedio | Sí | Aplicaciones de JavaScript y automatización de backend | Requiere entorno Node.js |
Mejores Prácticas para Convertir JSON a Excel
Convertir JSON a Excel puede parecer sencillo, pero los conjuntos de datos del mundo real a menudo contienen estructuras anidadas, claves inconsistentes o grandes volúmenes de datos. Seguir algunas de las mejores prácticas puede ayudar a garantizar resultados fiables y legibles.
- Aplanar Estructuras JSON Anidadas
- Considera el Tamaño del Archivo y el Rendimiento
Los grandes conjuntos de datos JSON pueden contener miles o millones de registros, lo que puede causar problemas de rendimiento al convertir directamente a Excel. Algunos consejos:
- Usa soluciones programáticas (Python o Node.js) para archivos grandes.
- Procesa los datos en lotes si es necesario.
- Evita cargar conjuntos de datos extremadamente grandes directamente en Excel.
Excel mismo tiene límites (por ejemplo, alrededor de 1,048,576 filas por hoja), por lo que los conjuntos de datos muy grandes pueden necesitar ser divididos en múltiples hojas de trabajo.
- Usa Múltiples Hojas para Datos Complejos
- Aplica Formato para una Mejor Legibilidad
Si el archivo de Excel se compartirá con colegas o partes interesadas, el formato puede mejorar significativamente la legibilidad.
Las prácticas de formato útiles incluyen:
- Filas de encabezado en negrita
- Anchos de columna ajustados
- Colores de fila alternos
- Fuentes y alineación consistentes
Bibliotecas como Spire.XLS permiten el control programático sobre estos elementos, lo que permite generar informes listos para la presentación automáticamente.
Muchos archivos JSON contienen objetos o arrays anidados. Si bien JSON admite datos jerárquicos, Excel funciona mejor con estructuras planas y tabulares.
Por ejemplo, un JSON como este:
{
"id": 1,
"name": "Alice",
"address": {
"city": "San Francisco",
"zip": "94105"
}
}
puede necesitar ser aplanado en:
| id | nombre | address.city | address.zip |
|---|---|---|---|
| 1 | Alice | San Francisco | 94105 |
Bibliotecas como pandas proporcionan herramientas como json_normalize() para aplanar datos anidados automáticamente. Al trabajar con JSON más complejos, preprocesar la estructura antes de exportar a Excel a menudo produce resultados más limpios.
Algunas API devuelven JSON con múltiples arrays relacionados, como:
{
"customers": [...],
"orders": [...],
"products": [...]
}
En lugar de forzar todo en una sola hoja de trabajo, considera exportar cada conjunto de datos a hojas de Excel separadas. Esto preserva la estructura lógica de los datos originales y facilita el análisis.
Conclusión
JSON es ampliamente utilizado para almacenar e intercambiar datos estructurados, pero no siempre es ideal para el análisis o para compartir con usuarios no técnicos. Convertir JSON a Excel hace que los datos sean más fáciles de leer, filtrar y organizar en un formato de hoja de cálculo familiar.
Para conversiones simples y únicas, herramientas como Excel o convertidores en línea suelen ser suficientes. Sin embargo, los desarrolladores que trabajan con canalizaciones de datos o informes automatizados se beneficiarán de soluciones programáticas como pandas, Spire.XLS, o SheetJS, que ofrecen una mayor flexibilidad y control sobre el resultado.
Preguntas Frecuentes
P1. ¿Por qué algunos convertidores en línea rechazan JSON válido?
Muchos convertidores en línea esperan un array raíz de objetos como conjunto de datos. Si el archivo JSON comienza con un objeto raíz que contiene arrays anidados, la herramienta puede no saber qué propiedad representa la tabla. Extraer el array relevante antes de subir el archivo generalmente resuelve este problema.
P2. ¿Cuál es la diferencia entre un array JSON y un objeto JSON?
Un array JSON es una lista ordenada de valores encerrados entre corchetes [], mientras que un objeto JSON es una colección de pares clave-valor encerrados entre llaves {}.
P3. ¿Cómo puedo convertir JSON anidado a Excel?
El JSON anidado a menudo requiere ser aplanado antes de exportarlo a Excel. Herramientas como pandas proporcionan funciones como json_normalize() que expanden automáticamente los campos anidados en columnas. Alternativamente, puedes extraer manualmente objetos o arrays anidados antes de escribir los datos.
P4. ¿Puede Excel abrir archivos JSON directamente?
Sí. Excel incluye una función llamada Power Query , que puede importar archivos JSON y convertirlos en tablas. Sin embargo, el proceso puede requerir la expansión manual de estructuras anidadas para obtener un conjunto de datos tabular limpio.