Índice
- Prepare a sua estrutura JSON
- Método 1 — Excel Power Query (Sem Código)
- Método 2 — Conversor JSON Online (Rápido e Único)
- Método 3 — Python com pandas (Amigável para Automação)
- Método 4 — Python com Spire.XLS (Relatórios Excel Formatados)
- Método 5 — Node.js com SheetJS (Fluxo de Trabalho JavaScript)
- Comparação Rápida dos 5 Métodos
- Melhores Práticas para Converter JSON para Excel
- Conclusão
- Perguntas Frequentes

JSON é um dos formatos mais utilizados para armazenar e trocar dados estruturados. APIs, arquivos de configuração e muitas aplicações modernas usam JSON para representar conjuntos de dados.
No entanto, o JSON nem sempre é conveniente para análise, relatórios ou partilha com utilizadores não técnicos. Em muitos casos, converter dados JSON para uma folha de cálculo do Excel facilita a visualização, filtragem, ordenação e apresentação da informação.
Este guia mostra cinco métodos práticos para converter JSON para Excel, desde soluções sem código até abordagens programáticas.
Visão geral dos métodos abordados:
- Método 1 — Excel Power Query (Sem Código)
- Método 2 — Conversor JSON Online (Rápido e Único)
- Método 3 — Python com pandas (Amigável para Automação)
- Método 4 — Python com Spire.XLS (Relatórios Excel Formatados)
- Método 5 — Node.js com SheetJS (Fluxo de Trabalho JavaScript)
Prepare a sua estrutura JSON
Antes de converter JSON para Excel, é importante entender como a estrutura dos seus dados JSON afeta o processo de conversão. Muitas ferramentas de conversão assumem um formato específico, e estruturas incompatíveis podem causar resultados inesperados ou erros.
Array Raiz vs. Objeto Raiz
Muitas ferramentas de JSON para Excel esperam que os dados sejam um array de objetos raiz, como este:
[
{"id":1,"name":"Alice"},
{"id":2,"name":"Bob"}
]
Esta estrutura mapeia-se naturalmente para uma tabela do Excel:
| id | name |
|---|---|
| 1 | Alice |
| 2 | Bob |
Cada objeto torna-se uma linha e as chaves tornam-se cabeçalhos de coluna.
No entanto, muitas APIs e conjuntos de dados do mundo real envolvem o array dentro de um objeto raiz:
{
"employees":[
{"id":1,"name":"Alice"},
{"id":2,"name":"Bob"}
]
}
Neste caso, o conjunto de dados tabular real é armazenado dentro da propriedade "employees".
Porque Algumas Ferramentas Falham em Objetos Raiz
Alguns conversores não conseguem determinar automaticamente qual propriedade contém o conjunto de dados tabular. Eles esperam que o arquivo JSON comece diretamente com um array.
Quando os dados estão envolvidos num objeto raiz, estas ferramentas podem falhar ao analisar o ficheiro corretamente ou produzir resultados vazios.
Portanto, pode ser necessário extrair o array relevante manually antes de realizar a conversão. Por exemplo, você pode reestruturar o JSON para que o array se torne o elemento raiz para um conversor online, ou acessá-lo diretamente no código.
Aceder ao Array em Python
Por exemplo, se o conjunto de dados estiver armazenado em "employees", pode carregá-lo e extraí-lo desta forma:
data = json.load(f)["employees"]
Após este passo, data torna-se uma lista de objetos, que pode ser facilmente escrita no Excel como linhas e colunas.
Método 1 — Excel Power Query (Sem Código)
Se já tiver o Microsoft Excel instalado, pode importar dados JSON diretamente sem escrever qualquer código. A funcionalidade Power Query do Excel permite aos utilizadores carregar ficheiros JSON e convertê-los automaticamente para um formato tabular. Esta abordagem é ideal para analistas ou utilizadores de negócios que desejam visualizar rapidamente dados JSON num ambiente de folha de cálculo.
Passos
- Inicie o Microsoft Excel no seu computador.
- Clique no separador Dados localizado no menu superior do Excel.
- No separador Dados, navegue para Obter Dados, depois selecione Do Ficheiro e escolha Do JSON no menu pendente.
- Quando solicitado, localize e selecione o seu ficheiro JSON e, em seguida, clique em Importar.
- O Editor do Power Query será iniciado.
-
Se o ficheiro abrir como uma lista de registos:
- Clique em Para Tabela para converter a lista para um formato de tabela.
- Em seguida, clique no ícone Expandir (⇄) no cabeçalho da coluna para revelar os nomes das colunas. Se as colunas ainda mostrarem "Lista" ou "Registo", clique novamente no ícone de expansão para achatar ainda mais.
- Aparecerá uma caixa de diálogo, permitindo-lhe selecionar os campos que deseja incluir na tabela. Escolha os campos necessários, desmarque "Usar nome da coluna original como prefixo" para cabeçalhos mais limpos e, em seguida, clique em OK.



- Clique em Fechar e Carregar para importar os dados estruturados para a sua folha de cálculo do Excel.
- Guarde o seu ficheiro Excel no formato .xlsx, garantindo que os seus dados são preservados para utilização futura.



Quando usar este método
Ideal para pequenos conjuntos de dados e utilizadores que preferem uma interface visual em vez de programação.
Método 2 — Conversor JSON Online (Rápido e Único)
Os conversores JSON online fornecem uma das formas mais rápidas de transformar ficheiros JSON em folhas de cálculo do Excel. Estas ferramentas normalmente requerem apenas o carregamento de um ficheiro e geram automaticamente um ficheiro Excel para download. Plataformas como as oferecidas por jsontoexcel.net podem concluir a conversão em segundos sem instalar qualquer software.
Passos
- Abra um site de conversor de JSON para Excel.
- Copie e cole os seus dados JSON diretamente no editor de texto ou carregue um ficheiro do seu computador.
- Clique no botão Converter para Excel para iniciar o processo de conversão.
- Faça o download do ficheiro Excel gerado.


Nota Importante
A maioria dos conversores online espera um array de objetos raiz; caso contrário, podem falhar silenciosamente ou produzir resultados inesperados. Este formato converte-se de forma mais fiável para o Excel.
Quando usar este método
Ideal para conversões rápidas e únicas ou para testar conjuntos de dados de amostra.
Método 3 — Python com pandas (Amigável para Automação)
Para programadores e engenheiros de dados, o Python oferece uma forma poderosa de automatizar as conversões de JSON para Excel. A popular biblioteca de análise de dados pandas pode carregar facilmente ficheiros JSON, transformá-los num DataFrame estruturado e exportar os resultados para o Excel. Este método é particularmente útil quando a conversão precisa de ser integrada em scripts, fluxos de trabalho ETL ou pipelines de relatórios automatizados.
Instalar Dependências
pip install pandas openpyxl
Converter JSON para 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)
Saída:

Quando usar este método
Ideal para processamento automatizado de dados, fluxos de trabalho de análise e grandes conjuntos de dados.
Método 4 — Python com Spire.XLS (Relatórios Excel Formatados)
Se o seu objetivo é gerar relatórios Excel bem formatados, o Python pode trabalhar com Spire.XLS para criar folhas de cálculo programaticamente. Ao contrário das bibliotecas de exportação de dados simples, o Spire.XLS oferece um controlo extensivo sobre a formatação do Excel, incluindo fontes, cores, alinhamento e dimensionamento de colunas. Isto torna-o adequado para a produção de folhas de cálculo profissionais prontas a partilhar com as partes interessadas.
Instalar a Biblioteca
pip install spire.xls
Código de Exemplo
O script seguinte lê dados de funcionários em JSON, gera dinamicamente cabeçalhos de coluna, escreve linhas no Excel e aplica formatação, como estilo de cabeçalho, cores de linha alternadas e colunas auto-ajustadas.
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()
Saída:

Quando usar este método
Ideal para a geração automatizada de relatórios, aplicações que requerem formatação precisa do Excel e fluxos de trabalho onde os ficheiros Excel são o produto final.
Também pode gostar: Converter JSON para/de Excel em Python – Guia Completo com Exemplos
Método 5 — Node.js com SheetJS (Fluxo de Trabalho JavaScript)
Os programadores de JavaScript podem converter JSON para Excel utilizando bibliotecas como SheetJS. Esta biblioteca fornece utilitários para transformar objetos JSON em folhas de cálculo e escrevê-los em ficheiros .xlsx. Como funciona bem em ambientes Node.js, é comummente utilizada em serviços de backend e scripts de processamento de dados.
Instalar
npm install xlsx
Exemplo
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");
Saída:

Quando usar este método
Ideal para aplicações web, backends Node.js e fluxos de trabalho de automação baseados em JavaScript.
Comparação Rápida dos 5 Métodos
Cada método para converter JSON para Excel serve um tipo diferente de utilizador e fluxo de trabalho. Algumas abordagens focam-se na simplicidade e velocidade, enquanto outras fornecem automação e controlo de formatação para cenários mais avançados. A tabela abaixo resume as principais diferenças para o ajudar a escolher a opção mais adequada.
| Método | Nível de Habilidade | Automação | Ideal Para | Limitações |
|---|---|---|---|---|
| Excel (Power Query) | Iniciante | Não | Conversão manual rápida e exploração de dados | Requer passos manuais; limitado para fluxos de trabalho repetidos |
| Conversor Online | Iniciante | Não | Conversões únicas e testes rápidos | Limites de tamanho de ficheiro; potenciais preocupações com a privacidade |
| Python com pandas | Intermediário | Sim | Pipelines de dados, análises e grandes conjuntos de dados | Controlo limitado sobre a formatação avançada do Excel |
| Python com Spire.XLS | Intermediário | Sim | Geração de relatórios profissionais em Excel | Requer configuração adicional da biblioteca |
| Node.js com SheetJS | Intermediário | Sim | Aplicações JavaScript e automação de backend | Requer ambiente Node.js |
Melhores Práticas para Converter JSON para Excel
Converter JSON para Excel pode parecer simples, mas os conjuntos de dados do mundo real contêm frequentemente estruturas aninhadas, chaves inconsistentes ou grandes volumes de dados. Seguir algumas das melhores práticas pode ajudar a garantir resultados fiáveis e legíveis.
- Aplanar Estruturas JSON Aninhadas
- Considere o Tamanho do Ficheiro e o Desempenho
Grandes conjuntos de dados JSON podem conter milhares ou milhões de registos, o que pode causar problemas de desempenho ao converter diretamente para o Excel. Algumas dicas:
- Use soluções programáticas (Python ou Node.js) para ficheiros grandes.
- Processe os dados em lotes, se necessário.
- Evite carregar conjuntos de dados extremamente grandes diretamente no Excel.
O próprio Excel tem limites (por exemplo, cerca de 1.048.576 linhas por folha), pelo que conjuntos de dados muito grandes podem precisar de ser divididos por várias folhas de cálculo.
- Use Várias Folhas para Dados Complexos
- Aplique Formatação para Melhor Legibilidade
Se o ficheiro Excel for partilhado com colegas ou partes interessadas, a formatação pode melhorar significativamente a legibilidade.
Práticas de formatação úteis incluem:
- Linhas de cabeçalho a negrito
- Larguras de coluna ajustadas
- Cores de linha alternadas
- Fontes e alinhamento consistentes
Bibliotecas como o Spire.XLS permitem o controlo programático sobre estes elementos, tornando possível gerar relatórios prontos para apresentação automaticamente.
Muitos ficheiros JSON contêm objetos ou arrays aninhados. Embora o JSON suporte dados hierárquicos, o Excel funciona melhor com estruturas planas e tabulares.
Por exemplo, JSON como este:
{
"id": 1,
"name": "Alice",
"address": {
"city": "San Francisco",
"zip": "94105"
}
}
pode precisar de ser achatado em:
| id | name | address.city | address.zip |
|---|---|---|---|
| 1 | Alice | San Francisco | 94105 |
Bibliotecas como o pandas fornecem ferramentas como json_normalize() para achatar dados aninhados automaticamente. Ao trabalhar com JSON mais complexo, o pré-processamento da estrutura antes de exportar para o Excel geralmente produz resultados mais limpos.
Algumas APIs retornam JSON com múltiplos arrays relacionados, tais como:
{
"customers": [...],
"orders": [...],
"products": [...]
}
Em vez de forçar tudo para uma única folha de cálculo, considere exportar cada conjunto de dados para folhas de Excel separadas. Isto preserva a estrutura lógica dos dados originais e facilita a análise.
Conclusão
O JSON é amplamente utilizado para armazenar e trocar dados estruturados, mas nem sempre é ideal para análise ou partilha com utilizadores não técnicos. A conversão de JSON para Excel torna os dados mais fáceis de ler, filtrar e organizar num formato de folha de cálculo familiar.
Para conversões simples e únicas, ferramentas como o Excel ou conversores online são muitas vezes suficientes. No entanto, os programadores que trabalham com pipelines de dados ou relatórios automatizados beneficiarão de soluções programáticas como pandas, Spire.XLS ou SheetJS, que oferecem maior flexibilidade e controlo sobre o resultado.
Perguntas Frequentes
Q1. Porque é que alguns conversores online rejeitam JSON válido?
Muitos conversores online esperam um array de objetos raiz como conjunto de dados. Se o ficheiro JSON começar com um objeto raiz contendo arrays aninhados, a ferramenta pode não saber qual propriedade representa a tabela. Extrair o array relevante antes de carregar o ficheiro geralmente resolve este problema.
Q2. Qual é a diferença entre um array JSON e um objeto JSON?
Um array JSON é uma lista ordenada de valores entre parênteses retos [], enquanto um objeto JSON é uma coleção de pares chave-valor entre chavetas {}.
Q3. Como posso converter JSON aninhado para Excel?
O JSON aninhado requer frequentemente achatamento antes de ser exportado para o Excel. Ferramentas como o pandas fornecem funções como json_normalize() que expandem automaticamente os campos aninhados em colunas. Alternativamente, pode extrair manualmente objetos ou arrays aninhados antes de escrever os dados.
Q4. O Excel pode abrir ficheiros JSON diretamente?
Sim. O Excel inclui uma funcionalidade chamada Power Query, que pode importar ficheiros JSON e convertê-los em tabelas. No entanto, o processo pode exigir a expansão manual de estruturas aninhadas para obter um conjunto de dados tabular limpo.