Como exportar Excel para JSON: ferramentas online e Python

2026-06-08 06:11:10 zaki zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Como exportar Excel para JSON

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

  1. Por que exportar Excel para JSON?
  2. Como os dados do Excel ficam em JSON?
  3. Método 1: Exportar Excel para JSON Online
  4. Método 2: Exportar Excel para JSON em Python com Pandas
  5. Método 3: Exportar Excel para JSON em Python com Spire.XLS
  6. Desafios comuns ao converter Excel para JSON
  7. Qual método você deve escolher?
  8. 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:

Exemplo de 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

  1. Carregar o arquivo Excel: Selecione seu arquivo .xlsx ou .xls do armazenamento local. A maioria das plataformas suporta arrastar e soltar.

  2. Configurar opções: Especifique se deseja incluir cabeçalhos, selecionar planilhas específicas ou personalizar a formatação da saída.

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

Converter Excel para JSON com Pandas

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:

Converter Excel para JSON com Spire.XLS

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: