Como decodificar Base64 para um arquivo Excel
- Cole o Base64 em Base64 ou data URI. Um prefixo como
data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,pode ficar. Para uma exportação longa salva como texto, use Abrir arquivo .txt. - Acima da tabela, uma linha indica a aba: “Primeira planilha: “Invoices” (3 na pasta de trabalho)”. A tabela tem as letras das colunas no topo e os números de linha da própria planilha na lateral, então a linha 17 é a linha 17 no Excel, mesmo que as linhas anteriores estejam vazias.
- Abaixo da tabela, a lista de entradas mostra todas as partes da pasta de trabalho, com Ver e Salvar.
- Clique em Baixar arquivo para salvar o .xlsx.
Ler a planilha não exige Excel nem nenhum suplemento. A página descompacta a pasta de trabalho e faz o parse do XML no seu navegador, e a Content Security Policy dela só permite as requisições de rede do contador de visitas da Cloudflare, então os dados ficam no seu dispositivo.
Como a prévia mostra os valores das células
A tabela mostra o que está armazenado em cada célula, sem os formatos de número do Excel. Em geral é isso que você quer ao conferir uma exportação, mas alguns tipos de célula aparecem diferente do Excel:
| Célula no Excel | Exibido na prévia |
|---|---|
| Texto | O texto |
25%, $1,234.50 | O número armazenado: 0.25, 1234.5 |
15/01/2025 | O número de série da data: 45672 |
12:00 | A fração do dia: 0.5 |
=C2*2 mostrando 241 | 241, o resultado salvo com o arquivo |
TRUE, FALSE | TRUE, FALSE |
#DIV/0! | #DIV/0! |
| Células mescladas | Só o valor da célula superior esquerda |
Para transformar um número de série em data, some essa quantidade de dias a 30 de dezembro de 1899: datetime(1899, 12, 30) + timedelta(days=45672) dá 15 de janeiro de 2025. Pastas de trabalho que usam o sistema de datas 1904, uma configuração de versões antigas do Excel para Mac, contam a partir de 1º de janeiro de 1904.
Os resultados das fórmulas só aparecem se o programa que gravou o arquivo os armazenou. Excel e LibreOffice armazenam; algumas bibliotecas gravam fórmulas sem resultados, e essas células aparecem vazias.
A prévia tem limites: ela lê a primeira aba na ordem da pasta de trabalho (a aba mais à esquerda, mesmo que esteja oculta ou que outra aba estivesse ativa), até 200 linhas e 30 colunas (de A a AD). Quando há mais, aparece o aviso “Mostrando até 200 linhas × 30 colunas.”. Gráficos, imagens, comentários e formatação não são exibidos.
XLSX, XLS, CSV ou outra coisa
| O Base64 começa com | Arquivo | O que fazer |
|---|---|---|
UEsDB | XLSX ou outro arquivo baseado em ZIP | A prévia funciona para XLSX e XLSM |
0M8R4KGxGuE | .xls legado (Excel 97–2003) ou .xlsx protegido por senha | A ferramenta diz “Isto não parece ser XLSX” e detecta DOC/XLS/MSG (OLE). Ela não consegue distinguir os dois, e a Extensão continua xlsx: digite xls para uma pasta de trabalho legada e mantenha xlsx para uma protegida |
77u/ | Texto com byte order mark UTF-8, normalmente uma exportação CSV | Veja Base64 para CSV |
PD94bWwg | XML (<?xml ), possivelmente uma planilha XML do Excel 2003 | Salve com a extensão xml; o Excel abre |
Duas variantes baseadas em ZIP pedem atenção. Uma pasta de trabalho com macros contém xl/vbaProject.bin; a prévia funciona normalmente, mas o Excel se recusa a abri-la com a extensão .xlsx, então digite xlsm antes de baixar. Uma pasta de trabalho binária (.xlsb) guarda as abas em arquivos .bin em vez de XML: a ferramenta ainda a chama de XLSX e lista as entradas, mas não mostra tabela, e ela precisa ser salva como xlsb.
Um CSV enviado no lugar de uma pasta de trabalho gera o aviso “Isto parece ser CSV, não XLSX.” com um botão Baixar como .csv. O Excel abre os dois.
De onde vêm as planilhas em Base64
APIs de relatórios e de contabilidade devolvem as exportações geradas como campo Base64 em JSON. Plataformas de automação e low-code muitas vezes passam arquivos entre etapas como strings Base64, e o e-mail leva anexos de planilha como partes MIME em Base64. Para o caminho inverso, de uma pasta de trabalho para uma string, use Excel para Base64.
Ler uma pasta de trabalho em Base64 com Python
Com o pacote openpyxl, a pasta de trabalho pode ser lida direto dos 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)
O data_only=True devolve os resultados salvos das fórmulas em vez das fórmulas, os mesmos valores que a prévia mostra. Diferente da prévia, o openpyxl aplica os formatos de número às datas, então a célula acima volta como datetime(2025, 1, 15, 0, 0). Há mais opções de decodificação em Base64 em Python.
Perguntas frequentes
Como converter Base64 em arquivo Excel?
Cole a string acima e clique em Baixar arquivo. A pasta de trabalho é salva como decoded.xlsx com exatamente os bytes que foram codificados, então fórmulas, formatação e todas as abas ficam intactas.
Por que as datas aparecem como números, tipo 45672?
O Excel guarda uma data como a quantidade de dias desde 30 de dezembro de 1899 e só a formata como data na tela. A prévia mostra o valor armazenado: 45672 é 15 de janeiro de 2025, e o Excel volta a exibi-lo como data quando você abre o arquivo.
Dá para ver as outras abas?
A tabela mostra só a primeira aba. As outras aparecem na lista como xl/worksheets/sheet2.xml e assim por diante; Ver mostra o XML bruto delas, onde as células de texto são números que apontam para xl/sharedStrings.xml.
O Excel diz que o formato ou a extensão do arquivo não é válido. Por quê?
A extensão não corresponde ao conteúdo. Uma pasta de trabalho com macros (ela contém xl/vbaProject.bin) precisa ser salva como .xlsm, e uma pasta de trabalho legada detectada como OLE precisa de .xls; digite a extensão certa em Extensão e baixe de novo.