
Se você já precisou carregar dados de planilha em um aplicativo web, criar uma API REST ou migrar dados para um banco de dados NoSQL, provavelmente encontrou um problema comum: o Excel não oferece uma maneira integrada de salvar dados como JSON.
Felizmente, existem várias maneiras de exportar Excel para JSON, desde conversores online rápidos até soluções programáticas em Python. O melhor método depende do tamanho do seu arquivo, dos requisitos de segurança e se você precisa preservar estruturas de pasta de trabalho, como várias planilhas ou resultados de fórmulas.
Neste guia, compararemos as abordagens mais práticas e ajudaremos você a escolher a solução certa para o seu cenário.
Navegação Rápida
- Por que exportar Excel para JSON?
- Como os dados do Excel ficam em JSON?
- Método 1: Exportar Excel para JSON Online
- Método 2: Exportar Excel para JSON em Python com Pandas
- Método 3: Exportar Excel para JSON em Python com Spire.XLS
- Desafios comuns ao converter Excel para JSON
- Qual método você deve escolher?
- FAQ
Por que exportar Excel para JSON?
O Excel é a ferramenta mais utilizada para armazenar dados estruturados, mas os aplicativos modernos se comunicam em JSON. A conversão entre esses formatos é essencial sempre que os dados da planilha precisam ser transferidos para um contexto web.
Casos de uso comuns incluem:
- Enviar dados de planilha para aplicativos web
- Importar dados em APIs REST
- Trabalhar com frameworks JavaScript como React, Vue ou Angular
- Migrar dados para bancos de dados NoSQL como MongoDB
- Trocar dados entre sistemas em pipelines de integração
O Excel não possui uma opção nativa de "Salvar como JSON", portanto, você precisa de uma ferramenta ou biblioteca externa para preencher essa lacuna.
Como os dados do Excel ficam em JSON?
As linhas do Excel são tipicamente convertidas em objetos JSON, enquanto os cabeçalhos das colunas se tornam chaves de objeto.
Dados do Excel:

Saída JSON:
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
Cada linha se torna um objeto JSON, cada cabeçalho de coluna se torna uma chave e a planilha inteira se torna um array. Tanto os arquivos XLS quanto os XLSX seguem o mesmo padrão de mapeamento.
Método 1: Exportar Excel para JSON Online
Conversores online de Excel para JSON fornecem a solução mais rápida para conversões únicas, sem a necessidade de instalação de software ou conhecimento de programação.
Passos para converter Excel para JSON Online
-
Carregar o arquivo Excel: Selecione seu arquivo .xlsx ou .xls do armazenamento local. A maioria das plataformas suporta arrastar e soltar.
-
Configurar opções: Especifique se deseja incluir cabeçalhos, selecionar planilhas específicas ou personalizar a formatação da saída.
-
Converter e baixar: O servidor processa seu arquivo e gera a saída JSON. Recupere o arquivo convertido ou copie o resultado.
Conversores Online Recomendados de Excel para JSON
Ferramentas diferentes se destacam em cenários diferentes:
| Ferramenta | Ideal para | Limite de Tamanho do Arquivo | Recursos Especiais |
|---|---|---|---|
| TableConvert | Estruturas JSON baseadas em tabelas | 10MB | Formatação JSON personalizada, objetos aninhados |
| Data Formatter Pro | Conversão rápida no navegador | 5MB | Conversão no lado do navegador, sem necessidade de upload |
| JSON Editor Online | Edição visual após a conversão | 5MB | Validador e formatador JSON integrado |
Vantagens e Limitações
Vantagens:
- Nenhuma instalação necessária — acesso de qualquer navegador
- Rápido para arquivos pequenos abaixo de 5MB
- Amigável para iniciantes com interfaces gráficas
Limitações:
- Limites de tamanho de arquivo: A maioria dos conversores gratuitos restringe uploads a 5-10MB
- Preocupações com privacidade: Carregar dados comerciais em servidores externos introduz riscos de conformidade
- Tratamento de fórmulas: Conversores online exportam resultados de fórmulas como valores estáticos
- Múltiplas planilhas: Muitas ferramentas exportam apenas a planilha ativa ou perdem a estrutura da planilha
Conversores online funcionam bem para conversões rápidas e não confidenciais. Para qualquer coisa envolvendo arquivos grandes, dados confidenciais ou planilhas complexas, você precisa de uma solução programática.
Método 2: Exportar Excel para JSON em Python com Pandas
Pandas é a biblioteca de análise de dados mais popular do Python, oferecendo conversão direta de Excel para JSON através de sua API DataFrame. Este método é adequado para cientistas de dados e analistas que já usam Pandas para manipulação de dados.
Instalar Pandas e Dependências
pip install pandas openpyxl
Para arquivos .xls legados, também instale xlrd:
pip install xlrd
Ler Excel e Exportar JSON
import pandas as pd
# Carregar arquivo Excel em DataFrame
df = pd.read_excel("sales_report.xlsx")
# Exportar DataFrame para JSON
df.to_json(
"sales_report.json",
orient="records",
indent=4
)
print("Dados do Excel exportados para JSON com sucesso")
Abaixo está um exemplo da planilha do Excel e da saída JSON:

Parâmetros Chave:
-
orient="records": Estrutura a saída como um array de objetos (formato mais comum) -
indent=4: Formata o JSON com indentação de 4 espaços
Entendendo as Opções de Saída JSON
Pandas oferece várias orientações de saída através do parâmetro orient:
orient="records" (Recomendado para APIs):
[
{"ID": 1, "Name": "Alice", "Department": "HR"},
{"ID": 2, "Name": "Bob", "Department": "Engineering"}
]
orient="index":
{
"0": {"ID": 1, "Name": "Alice", "Department": "HR"},
"1": {"ID": 2, "Name": "Bob", "Department": "Engineering"}
}
orient="split":
{
"columns": ["ID", "Name", "Department"],
"index": [0, 1],
"data": [[1, "Alice", "HR"], [2, "Bob", "Engineering"]]
}
A orientação records é o formato mais compatível para APIs REST e aplicativos JavaScript.
Lidando com Planilhas Específicas
import pandas as pd
# Ler planilha específica por nome
df = pd.read_excel("workbook.xlsx", sheet_name="Q4_Sales")
# Ler planilha específica por índice (baseado em 0)
df = pd.read_excel("workbook.xlsx", sheet_name=0)
df.to_json("q4_sales.json", orient="records", indent=4)
Pandas se destaca na análise de dados onde você precisa filtrar, agregar ou transformar dados antes da exportação. No entanto, ele carrega arquivos inteiros na memória e não pode preservar a lógica de fórmulas, tornando-o menos adequado para arquivos grandes ou cenários corporativos.
A conversão de Excel para JSON é frequentemente apenas uma etapa em um fluxo de trabalho de dados. Se você precisar importar dados JSON de volta para planilhas, consulte nosso tutorial sobre converter JSON para Excel para uma solução completa de intercâmbio de dados bidirecional.
Método 3: Exportar Excel para JSON em Python com Spire.XLS
Spire.XLS for Python fornece uma biblioteca profissional de processamento de Excel projetada para cenários onde o Pandas falha. Ele lida com estruturas de pasta de trabalho complexas, preserva cálculos de fórmulas e processa arquivos grandes de forma eficiente sem carregar conjuntos de dados inteiros na memória.
Instalar Spire.XLS para Python
pip install Spire.XLS
Exportar Dados do Excel para JSON
from spire.xls import Workbook
import json
# Criar instância de pasta de trabalho
workbook = Workbook()
workbook.LoadFromFile("sales_data.xlsx")
# Obter a primeira planilha
sheet = workbook.Worksheets[0]
# Extrair dados em formato estruturado
data = []
headers = []
# Ler cabeçalhos da primeira linha
for col in range(sheet.AllocatedRange.Columns.Count):
cell = sheet.AllocatedRange.Rows[0].Cells[col]
headers.append(cell.Value)
# Ler linhas de dados
for row_idx in range(1, sheet.AllocatedRange.Rows.Count):
row_data = {}
row = sheet.AllocatedRange.Rows[row_idx]
for col_idx in range(len(headers)):
cell = row.Cells[col_idx]
row_data[headers[col_idx]] = cell.Value
data.append(row_data)
# Exportar para arquivo JSON
with open("sales_data.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
print(f"Exportados {len(data)} registros para JSON")
workbook.Dispose()
O resultado da conversão é mostrado abaixo:

Pontos Chave
-
Carregar Pasta de Trabalho: Use
Workbook.LoadFromFile()para carregar o arquivo Excel na memória. Este método suporta formatos XLS e XLSX. -
Acessar Planilha: Recupere uma planilha específica usando
workbook.Worksheets[index], onde o índice 0 se refere à primeira planilha. -
Extrair Cabeçalhos: Itere pela primeira linha do intervalo alocado (
sheet.AllocatedRange.Rows[0]) para coletar os cabeçalhos das colunas, que servirão como chaves de objeto JSON. -
Ler Linhas de Dados: Percorra as linhas restantes (começando do índice 1) e extraia os valores das células. Para cada linha, crie um dicionário mapeando cabeçalhos para valores de células.
-
Exportar para JSON: Use a função embutida
json.dump()do Python para gravar a estrutura de dados em um arquivo JSON com formatação adequada (indent=4) e suporte a Unicode (ensure_ascii=False).
JSON não é o único formato usado para intercâmbio de dados. Se você precisar de um formato tabular mais simples para relatórios ou integração de sistemas, consulte nosso guia sobre converter Excel para CSV em Python.
Exportar Múltiplas Planilhas para JSON
Uma das principais vantagens do Spire.XLS é lidar com pastas de trabalho com várias planilhas, preservando a estrutura:
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("quarterly_reports.xlsx")
workbook_data = {}
for sheet_index in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[sheet_index]
sheet_name = sheet.Name
sheet_data = []
headers = []
last_row = sheet.LastRow
last_col = sheet.LastColumn
if last_row > 0 and last_col > 0:
# Ler cabeçalhos
for col in range(1, last_col + 1):
cell_value = sheet.Range[1, col].Value
headers.append(cell_value if cell_value else f"Column{col}")
# Ler linhas de dados
for row in range(2, last_row + 1):
row_data = {}
has_data = False
for col in range(1, last_col + 1):
cell = sheet.Range[row, col]
value = cell.Value
# Lidar com células de fórmula - exportar resultados calculados
if cell.HasFormula:
value = cell.FormulaValue
row_data[headers[col - 1]] = value
if value is not None and str(value).strip():
has_data = True
if has_data:
sheet_data.append(row_data)
workbook_data[sheet_name] = sheet_data
print(f"Processado: {sheet_name} ({len(sheet_data)} linhas)")
with open("quarterly_reports.json", "w", encoding="utf-8") as f:
json.dump(workbook_data, f, indent=4, ensure_ascii=False)
print(f"Exportadas {workbook.Worksheets.Count} planilhas para JSON")
workbook.Dispose()
Estrutura de Saída:
{
"Q1_Sales": [
{"Product": "Widget A", "Revenue": 15000, "Units": 500},
{"Product": "Widget B", "Revenue": 22000, "Units": 730}
],
"Q2_Sales": [
{"Product": "Widget A", "Revenue": 18000, "Units": 600},
{"Product": "Widget B", "Revenue": 25000, "Units": 830}
]
}
Benefícios de Usar Spire.XLS
- Preservar a estrutura da pasta de trabalho: Manter a organização da planilha na saída JSON
- Lidar com fórmulas corretamente: Exportar valores calculados de células de fórmula
- Processamento eficiente de memória: Lidar com pastas de trabalho grandes sem carregar arquivos inteiros na memória
- Sem dependência do Excel: Processar arquivos sem exigir a instalação do Microsoft Excel
- Multiplataforma: Executar em Windows, Linux e macOS
Comparação Pandas vs Spire.XLS
| Recurso | Pandas | Spire.XLS |
|---|---|---|
| Código Aberto | ✓ | ✗ |
| Análise de Dados | ✓ | ✓ |
| Resultados de Fórmulas | Limitado | ✓ |
| Múltiplas Planilhas | Básico | ✓ |
| Automação Corporativa | Limitado | ✓ |
| Eficiência de Memória | Moderado | ✓ |
| Suporte a Arquivos Grandes | Limitado | ✓ |
Para sistemas que exigem intercâmbio de dados hierárquico ou baseado em esquema, você também pode aprender como converter Excel para XML em Python.
Desafios comuns ao converter Excel para JSON
Múltiplas Planilhas
As pastas de trabalho geralmente contêm várias planilhas relacionadas. Exportar todas as planilhas como um único array plano perde a estrutura organizacional. Use uma biblioteca como Spire.XLS para preservar os nomes das planilhas como chaves de nível superior na sua saída JSON.
Células de Fórmula
As fórmulas do Excel calculam valores dinamicamente. Ao exportar para JSON, você geralmente deseja o resultado calculado, não a string da fórmula. Spire.XLS fornece a propriedade FormulaValue para exportar valores computados, enquanto Pandas lê os valores exibidos por padrão.
Formatação de Data
O Excel armazena datas como datas seriais numéricas. Sem tratamento explícito, as datas podem ser exportadas como números sem sentido como 45662 em vez de "2026-05-01". Converta colunas de data em strings ISO 8601 para compatibilidade com JSON.
Células Vazias e Valores Nulos
Células vazias podem ser representadas como null, omitidas inteiramente ou exportadas como strings vazias. Use null para valores ausentes e strings vazias para células explicitamente vazias para preservar a intenção dos dados.
Qual método você deve escolher?
| Cenário | Método Recomendado | Justificativa |
|---|---|---|
| Conversão rápida única | Conversor online | Sem configuração, mais rápido para uso ocasional |
| Fluxos de trabalho de análise de dados | Pandas | Integra-se com pipelines de análise |
| Planilhas complexas com várias planilhas | Spire.XLS | Preserva a estrutura, lida com fórmulas |
| Arquivos grandes (>100MB) | Spire.XLS | Processamento eficiente de memória |
| Dados sensíveis/confidenciais | Spire.XLS (local) | Sem transmissão para servidor externo |
FAQ
O Excel pode salvar diretamente como JSON?
Não. A caixa de diálogo Salvar Como do Excel suporta XLSX, XLS, CSV, PDF e XML, mas não JSON. Você precisa de um conversor online, uma biblioteca Python ou um script personalizado para exportar dados do Excel para JSON.
Como exporto dados do Excel para um arquivo JSON?
Escolha sua ferramenta, carregue o arquivo Excel, extraia os dados da planilha, transforme linhas em objetos JSON com cabeçalhos de coluna como chaves e grave a saída em um arquivo .json.
Com Pandas:
import pandas as pd
df = pd.read_excel("data.xlsx")
df.to_json("data.json", orient="records", indent=4)
Qual é a melhor biblioteca Python para converter Excel para JSON?
- Pandas: Melhor para fluxos de trabalho de análise de dados com transformações poderosas, mas carrega arquivos inteiros na memória e não pode preservar fórmulas.
- Spire.XLS: Melhor para cenários corporativos com arquivos grandes, várias planilhas e tratamento de fórmulas.
Como posso exportar várias planilhas para JSON?
Use Spire.XLS para iterar pelas planilhas e organizá-las em um dicionário com nomes de planilhas como chaves:
from spire.xls import Workbook
import json
workbook = Workbook()
workbook.LoadFromFile("multi_sheet.xlsx")
result = {}
for sheet in workbook.Worksheets:
sheet_data = [] # Extrair dados da planilha
# ... lógica de extração ...
result[sheet.Name] = sheet_data
with open("output.json", "w") as f:
json.dump(result, f, indent=4)
As fórmulas podem ser preservadas durante a conversão de Excel para JSON?
As fórmulas em si não podem ser preservadas em JSON, pois JSON é um formato de dados estático. No entanto, você pode exportar os resultados calculados das fórmulas. Use a propriedade FormulaValue do Spire.XLS para obter valores computados em vez de strings de fórmula.
Como lidar com arquivos Excel grandes ao exportar para JSON?
Evite Pandas para arquivos grandes — ele carrega tudo na memória. Use Spire.XLS para acesso célula por célula eficiente em memória. Para conjuntos de dados muito grandes, considere o formato JSON delimitado por linha (JSONL), onde cada linha é um objeto JSON separado, permitindo o processamento em streaming.
Conclusão
Exportar Excel para JSON preenche a lacuna entre dados de planilha e aplicativos modernos. Para conversões rápidas, ferramentas online fazem o trabalho sem nenhuma configuração. Quando você precisa de recursos de análise de dados, Pandas oferece transformações poderosas. Para cenários corporativos com arquivos grandes, várias planilhas ou tratamento de fórmulas, Spire.XLS oferece o controle e a precisão de que você precisa. Escolha com base no tamanho do seu arquivo, complexidade e requisitos de fluxo de trabalho.
Leitura Adicional: