Converter JSON para Excel: 5 métodos para diferentes fluxos de trabalho

2026-03-13 07:38:34 zaki zou

Converter JSON para Excel: Guia Completo

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:

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

  1. Inicie o Microsoft Excel no seu computador.
  2. Clique no separador Dados localizado no menu superior do Excel.
  3. No separador Dados, navegue para Obter Dados, depois selecione Do Ficheiro e escolha Do JSON no menu pendente.
  4. Obter Dados do Ficheiro JSON

  5. Quando solicitado, localize e selecione o seu ficheiro JSON e, em seguida, clique em Importar.
  6. O Editor do Power Query será iniciado.
  7. Editor do Power Query

  8. Se o ficheiro abrir como uma lista de registos:

    • Clique em Para Tabela para converter a lista para um formato de tabela.
    • Converter Lista em 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.
    • Expandir listas ou registos

    • 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.
    • Escolha os campos necessários

  9. Clique em Fechar e Carregar para importar os dados estruturados para a sua folha de cálculo do Excel.
  10. Carregar dados estruturados na folha de cálculo

  11. 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

  1. Abra um site de conversor de JSON para Excel.
  2. Copie e cole os seus dados JSON diretamente no editor de texto ou carregue um ficheiro do seu computador.
  3. Cole os dados Json ou carregue o Json no conversor online

  4. Clique no botão Converter para Excel para iniciar o processo de conversão.
  5. Faça o download do ficheiro Excel gerado.
  6. 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:

Folha de Excel simples gerada pelo pandas

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:

Folha de Excel bem formatada gerada pelo Spire.XLS

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:

Folha de Excel simples gerada pelo SheetJS

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.

  1. Aplanar Estruturas JSON Aninhadas
  2. 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.

  3. 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.

  4. Use Várias Folhas para Dados Complexos
  5. 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.

  6. 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.

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.

Leia Também