Ferramentas
Guias

Conversor de JSON para Excel

JSON

Converte um array JSON em uma pasta de trabalho Excel .xlsx com o SheetJS e a baixa.

100% no cliente Sem backend

URLs remotas não são buscadas; cole seu JSON diretamente.

Entrada
Saída
Nesta página

O que é um conversor de JSON para Excel?#

Um conversor de JSON para Excel pega um documento JSON com a forma de uma tabela — tipicamente um array de objetos semelhantes — e produz um verdadeiro livro de trabalho .xlsx que pode abrir no Excel, Google Sheets ou LibreOffice. Cada objeto torna-se uma linha, cada chave de topo torna-se uma coluna, e a primeira linha da folha é o cabeçalho. A saída é um genuíno arquivo de folha de cálculo binário, não um CSV renomeado.

Isto faz a ponte entre sistemas que falam JSON (APIs, registros, exportações NoSQL) e pessoas que trabalham em folhas de cálculo. Um backend pode despejar mil registros como JSON; um analista humano quer-os no Excel para dinamizar, filtrar e criar gráficos. O conversor também lida com a confusão que os dados reais trazem: objetos aninhados, campos presentes em algumas linhas mas não noutras, e campos com valor de array que não têm um sítio natural para aterrar numa grelha.

Duas convenções fazem o trabalho pesado. Os objetos aninhados são achatados em chaves com notação de ponto — {"address": {"city": "London"}} torna-se uma coluna chamada address.city. Os campos com valor de array (e qualquer objeto que sobreviva ao achatamento) são serializados na sua célula como texto JSON, porque uma célula de folha de cálculo contém um valor, não uma estrutura aninhada. O resultado é uma tabela plana e retangular que o software de folha de cálculo abre sem reclamações.

Como usar#

  1. Cole um array JSON de objetos no painel Entrada à esquerda. Um objeto isolado, ou um objeto que envolva as linhas sob uma única chave como {"data": [...]}, também é aceite.
  2. Marque Achatar aninhados (ativo por padrão) para expandir objetos aninhados em colunas com notação de ponto. Desmarque se preferir manter os objetos aninhados como texto JSON numa única célula.
  3. O painel Saída mostra uma pré-visualização separada por tabulações exatamente do que vai aterrar na folha — a linha de cabeçalho seguida das linhas de dados. A linha de estado indica quantas linhas foram exportadas.
  4. Clique em Baixar .xlsx para guardar o livro de trabalho. O arquivo é construído no seu navegador e baixado diretamente; não há servidor.
  5. Exemplo carrega um pequeno conjunto de dados de colaboradores; Limpar repõe ambos os painéis e desativa o botão de download.

Principais funcionalidades#

  • Um arquivo .xlsx real, não um CSV renomeado. O livro de trabalho é construído com SheetJS e baixado como binário, pelo que o Excel o abre nativamente com colunas, tipos e estrutura de folha adequados.
  • Ordem de colunas estável em dados confusos. As colunas são calculadas como a união das chaves de todas as linhas, por ordem de primeira aparição. Linhas heterogéneas não deslocam nem desalinham colunas — um campo em falta torna-se simplesmente numa célula vazia.
  • Achatar com notação de ponto. Objetos aninhados expandem-se em colunas nomeadas (address.city, address.zip) para que os seus valores interiores sejam filtráveis e ordenáveis individualmente na folha.
  • Pré-visualização separada por tabulações. O painel de saída espelha exatamente o conteúdo da folha, para que possa verificar a forma antes de baixar.
  • Puramente no lado do cliente. A análise, o achatamento e a geração do livro de trabalho correm todos no seu navegador. Os dados nunca saem da página.

Exemplo prático#

Carregue em Exemplo e a entrada é um array de três registros de colaboradores:

[
  { "id": 1, "name": "Ada Lovelace", "role": "Engineer",  "salary": 95000,  "skills": ["math", "logic"] },
  { "id": 2, "name": "Bob",         "role": "PM",        "salary": 120000, "skills": ["docs", "plan"] },
  { "id": 3, "name": "Grace",       "role": "Architect", "salary": 150000, "skills": ["systems", "c", "cobol"] }
]

As três linhas compartilham as mesmas chaves, pelo que as colunas são id, name, role, salary, skills por esta ordem. O campo skills é um array, pelo que é serializado em cada célula. A pré-visualização separada por tabulações é:

id	name	role	salary	skills
1	Ada Lovelace	Engineer	95000	["math","logic"]
2	Bob	PM	120000	["docs","plan"]
3	Grace	Architect	150000	["systems","c","cobol"]

Clique em Baixar .xlsx e obtém um livro de trabalho cuja primeira folha tem este conteúdo exato, com id / name / role / salary / skills como linha de cabeçalho. A partir daí, o Excel trata salary como números (pelo que soma e faz médias) e skills como texto.

Se fosse adicionada uma quarta linha que omitisse salary, o conversor continuaria a emitir as cinco colunas e simplesmente deixaria essa célula vazia — sem deslocamento de colunas, sem dados desalinhados a jusante.

FAQ#

Porque é que o meu objeto aninhado se transforma em colunas com pontos no nome?#

Essa é a opção Achatar aninhados. Um campo como "address": {"city": "London", "zip": "NW1"} não cabe utilmente numa célula, pelo que é expandido em colunas address.city e address.zip — cada uma filtrável e ordenável individualmente no Excel. Desative a opção se preferir antes manter o objeto inteiro como uma string JSON numa única célula address.

Porque é que o meu array aparece como ["math","logic"] na célula?#

Uma célula de folha de cálculo contém um valor, e um array JSON é uma estrutura aninhada, pelo que é serializado de volta para texto JSON e colocado na célula tal qual. Isso mantém os dados sem perdas — nada é descartado — e pode ainda analisá-lo depois. Se quiser cada elemento do array na sua própria linha, reestruture o JSON fonte antes de converter (um registro por elemento).

As minhas linhas têm campos diferentes. O que acontece às colunas?#

O conversor considera a união de todas as chaves em todas as linhas, por ordem de primeira aparição, e usa-a como cabeçalho. Uma linha que não tenha um determinado campo fica com uma célula vazia para esse campo. Por isso, adicionar uma linha com um campo extra manager simplesmente adiciona uma coluna manager; as linhas sem esse campo ficam em branco, e nada do que já lá está se move.

Os meus dados são enviados para algum lado para construir o .xlsx?#

Não. A análise, o achatamento e a geração do livro de trabalho SheetJS correm todos dentro do seu navegador. O download é produzido a partir de um buffer em memória e entregue diretamente ao diálogo de guardar do navegador — não há backend nem pedido de rede.