Cómo decodificar Base64 a un archivo Excel
- Pega el Base64 en Base64 o data URI. Un prefijo como
data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,puede quedarse. Para una exportación larga guardada como texto, usa Abrir archivo .txt. - Encima de la tabla, una línea indica la hoja: «Primera hoja: “Invoices” (3 en el libro)». La tabla tiene las letras de columna arriba y los números de fila propios de la hoja a un lado, así que la fila 17 es la fila 17 de Excel aunque las anteriores estén vacías.
- Bajo la tabla, la lista de entradas muestra cada parte del libro con Ver y Guardar.
- Pulsa Descargar archivo para guardar el .xlsx.
Para leer la hoja no hace falta Excel ni ningún complemento. La página descomprime el libro y analiza su XML en tu navegador, y su Content Security Policy no permite más peticiones de red que las del contador de visitas de Cloudflare, así que los datos se quedan en tu dispositivo.
Cómo muestra la vista previa los valores de las celdas
La tabla muestra lo que hay guardado en cada celda, sin los formatos numéricos de Excel. Normalmente es lo que quieres al revisar una exportación, pero algunos tipos de celda se ven distintos que en Excel:
| Celda en Excel | Lo que muestra la vista previa |
|---|---|
| Texto | El texto |
25%, $1,234.50 | El número guardado: 0.25, 1234.5 |
15/01/2025 | El número de serie de la fecha: 45672 |
12:00 | La fracción del día: 0.5 |
=C2*2 que muestra 241 | 241, el resultado guardado con el archivo |
TRUE, FALSE | TRUE, FALSE |
#DIV/0! | #DIV/0! |
| Celdas combinadas | Solo el valor de la celda superior izquierda |
Para convertir un número de serie en fecha, suma esa cantidad de días al 30 de diciembre de 1899: datetime(1899, 12, 30) + timedelta(days=45672) da el 15 de enero de 2025. Los libros que usan el sistema de fechas 1904, un ajuste de las versiones antiguas de Excel para Mac, cuentan desde el 1 de enero de 1904.
Los resultados de las fórmulas solo aparecen si el programa que escribió el archivo los guardó. Excel y LibreOffice lo hacen; algunas bibliotecas escriben las fórmulas sin resultados, y esas celdas salen vacías.
La vista previa tiene límites: lee la primera hoja según el orden del libro (la pestaña de más a la izquierda, aunque esté oculta o hubiera otra activa), hasta 200 filas y 30 columnas (de A a AD). Cuando hay más, aparece la nota «Se muestran hasta 200 filas × 30 columnas.». No se muestran gráficos, imágenes, comentarios ni formato.
XLSX, XLS, CSV u otra cosa
| El Base64 empieza por | Archivo | Qué hacer |
|---|---|---|
UEsDB | XLSX u otro archivo basado en ZIP | La vista previa funciona con XLSX y XLSM |
0M8R4KGxGuE | .xls antiguo (Excel 97–2003) o un .xlsx protegido con contraseña | La herramienta dice «Esto no parece XLSX» y detecta DOC/XLS/MSG (OLE). No puede distinguirlos, y Extensión se queda en xlsx: escribe xls para un libro antiguo y deja xlsx para uno protegido |
77u/ | Texto con marca de orden de bytes UTF-8, normalmente una exportación CSV | Consulta Base64 a CSV |
PD94bWwg | XML (<?xml ), quizá una hoja de cálculo XML de Excel 2003 | Guárdalo con la extensión xml; Excel lo abre |
Dos variantes basadas en ZIP requieren atención. Un libro con macros contiene xl/vbaProject.bin; la vista previa funciona con normalidad, pero Excel se niega a abrirlo con la extensión .xlsx, así que escribe xlsm antes de descargar. Un libro binario (.xlsb) guarda sus hojas en archivos .bin en lugar de XML: la herramienta lo sigue llamando XLSX y lista sus entradas, pero no muestra ninguna tabla, y hay que guardarlo como xlsb.
Un CSV enviado en lugar de un libro provoca el aviso «Esto parece CSV, no XLSX.» con un botón Descargar como .csv. Excel abre ambos.
De dónde salen las hojas de cálculo en Base64
Las API de informes y de contabilidad devuelven las exportaciones generadas como un campo Base64 dentro de un JSON. Las plataformas de automatización y low-code suelen pasar archivos entre pasos como cadenas Base64, y el correo lleva las hojas de cálculo adjuntas como partes MIME en Base64. Para el sentido contrario, de un libro a una cadena, usa Excel a Base64.
Leer un libro en Base64 con Python
Con el paquete openpyxl, el libro se puede leer directamente desde los bytes decodificados:
import base64, io
from openpyxl import load_workbook
with open("export.b64") as f:
raw = base64.b64decode(f.read())
wb = load_workbook(io.BytesIO(raw), data_only=True)
ws = wb.worksheets[0]
for row in ws.iter_rows(values_only=True):
print(row)
data_only=True devuelve los resultados guardados de las fórmulas en lugar de las fórmulas, los mismos valores que muestra la vista previa. A diferencia de la vista previa, openpyxl aplica los formatos numéricos a las fechas, así que la celda del ejemplo anterior vuelve como datetime(2025, 1, 15, 0, 0). Hay más opciones de decodificación en Base64 en Python.
Preguntas frecuentes
¿Cómo convierto Base64 a un archivo Excel?
Pega la cadena arriba y pulsa Descargar archivo. El libro se guarda como decoded.xlsx con exactamente los bytes que se codificaron, así que las fórmulas, el formato y todas las hojas quedan intactos.
¿Por qué las fechas aparecen como números del tipo 45672?
Excel guarda una fecha como el número de días desde el 30 de diciembre de 1899 y solo le da formato de fecha en pantalla. La vista previa muestra el valor guardado: 45672 es el 15 de enero de 2025, y Excel vuelve a mostrarlo como fecha al abrir el archivo.
¿Puedo ver las otras hojas?
La tabla muestra solo la primera hoja. Las demás aparecen en la lista como xl/worksheets/sheet2.xml y siguientes; Ver muestra su XML en bruto, donde las celdas de texto son números que apuntan a xl/sharedStrings.xml.
Excel dice que el formato o la extensión del archivo no son válidos. ¿Por qué?
La extensión no coincide con el contenido. Un libro con macros (contiene xl/vbaProject.bin) debe guardarse como .xlsm, y un libro antiguo detectado como OLE necesita .xls; escribe la correcta en Extensión y vuelve a descargar.