Pular para o conteúdo principal

JSON para planilha Excel

O caminho mais direto é a ferramenta de JSON para Excel: ela grava um .xlsx de verdade no navegador, então números continuam números, zeros à esquerda sobrevivem e nada é reinterpretado como data. Se você precisa de CSV, o conversor gera um, e as três falhas clássicas de importação no Excel são evitáveis.

Só local
Só quer a ferramenta? Abra JSON para ExcelCrie uma planilha Excel tipada, não um CSV com nova extensãoAbrir ferramenta

JSON para planilha Excel: explicação

Exportações de API e dumps de banco de dados são árvores; o Excel é um retângulo. Toda conversão de JSON para CSV precisa decidir o que {"customer":{"name":"Ada"}} se torna, e as respostas preguiçosas — descartar o objeto, colar [object Object] na célula, entupir um campo com um blob JSON — são as que desperdiçam uma tarde. Aqui, objetos aninhados viram caminhos de coluna explícitos (customer.name), elementos de array ganham colunas próprias (tags[0], tags[1]), e o conjunto de colunas é a união de todos os registros, então um campo que aparece em só uma linha em cinquenta ainda chega.

Colocar o CSV no Excel é a metade que realmente quebra, e quebra de três maneiras previsíveis: codificação (o Excel mais antigo assume ANSI quando um arquivo não tem BOM, então é chega como é), delimitadores (em locales em que a vírgula é o separador decimal, o Excel espera ponto e vírgula e abre um arquivo com vírgulas como uma coluna só) e heurísticas de importação (códigos de produto viram datas, zeros à esquerda desaparecem). Nada disso é defeito do CSV em si.

Esta página é a receita para levar dados JSON a uma planilha sem nenhuma dessas falhas: as decisões de conversão que valem a pena conhecer, o caminho de colar versus o caminho de importar e as peculiaridades de locale que decidem qual delimitador escolher. A conversão roda no seu navegador — exportações de JSON são registros reais sobre pessoas reais, e não precisam de um desvio por um servidor.

A pasta de trabalho é gravada por a ferramenta de JSON para Excel — cole o JSON e baixe um .xlsx com a linha de cabeçalho fixa e filtrável.

Se as aspas e as vírgulas dentro dos seus dados vivem quebrando linhas, o guia do formato CSV explica as regras de aspas que toda planilha segue.

De JSON aninhado a uma grade plana

Cole um array de registros e cada um se achata em caminhos de folha: {"customer":{"name":"Ada"}} produz uma coluna chamada customer.name, e um array tags vira tags[0], tags[1] e assim por diante. As duas notações são distinguíveis de propósito — só com pontos, a.0 não consegue dizer se a era um array ou um objeto com uma chave chamada 0 —, e é isso que torna a ida e volta pelo CSV até o JSON reversível.

Duas decisões a mais importam numa planilha. Arrays de escalares podem ser unidos numa única célula (priority, gift) em vez de explodidos em colunas — mais fácil de ler, mas com perdas, então vale só para escalares; um array de objetos é sempre explodido, porque uni-lo o destruiria. E null vira uma célula vazia, e não o texto null, que uma planilha trataria como string. As aspas seguem a RFC 4180: os campos são colocados entre aspas só quando contêm o delimitador, uma aspa ou uma quebra de linha, e aspas dentro de campos são dobradas.

A peculiaridade do BOM UTF-8 no Excel mais antigo

Um CSV baixado desta ferramenta é UTF-8 sem marca de ordem de bytes (BOM) — o padrão moderno, e correto para todo programa que lê codificações direito. O Excel mais antigo (2016 e anteriores, em particular) não: sem BOM presente, ele assume ANSI, uma página de código legada do Windows, e todo caractere acima de 127 se corrompe — é vira é, Curaçao vira Curaçao, nomes e endereços viram sopa. O arquivo está certo; a suposição, não.

A correção é o caminho de importação: Dados → De Texto/CSV (Dados → De Texto nas versões mais antigas), escolha o arquivo e defina a codificação como 65001: Unicode (UTF-8) na caixa de diálogo. Versões modernas do Microsoft 365 costumam detectar UTF-8 sozinhas, mas a caixa de diálogo é o caminho confiável em qualquer versão — e a mesma caixa sobrepõe o delimitador, o que resolve a próxima peculiaridade no mesmo passo. Colar o texto CSV bruto numa planilha faz tudo cair numa coluna só até o Texto para Colunas dividir, então o caminho de importação também é o mais rápido para qualquer coisa com mais de uns poucos campos.

Qual delimitador escolher

Vírgula, a menos que você tenha um motivo — mas motivos são comuns, porque o delimitador e o locale estão entrelaçados. Em boa parte da Europa e da América do Sul a vírgula é o separador decimal, e o Excel de lá lista o ponto e vírgula como seu separador de lista: um arquivo delimitado por vírgulas abre como uma coluna gigante, enquanto um arquivo com ponto e vírgula abre limpo. A tabela de decisão:

Seu destinoEscolhaPor quê
Excel num locale de vírgula (Reino Unido, EUA)VírgulaBate com o separador de lista do Excel; abre no duplo clique
Excel num locale de ponto e vírgula (boa parte da Europa)Ponto e vírgulaA vírgula está ocupada sendo o separador decimal
Campos cheios de vírgulas e aspasTabulaçãoTabulações quase nunca aparecem nos dados, então aspas são raras
Um sistema que documenta entrada delimitada por pipePipeAcompanhe o que for consumir o arquivo em seguida

As heurísticas de importação do Excel: datas, zeros e números longos

Mesmo um CSV perfeitamente formado pode ser mutilado pelo Excel depois de aberto — pelo importador, não pelo arquivo. Valores que lembram datas (2-2024, 3/4) são convertidos em datas de verdade; códigos de produto e CEPs com zeros à esquerda os perdem (007 vira 7); IDs numéricos longos migram para notação científica e seus dígitos finais se vão para sempre. No duplo clique, essas reinterpretações são num só sentido.

A defesa é a mesma caixa de diálogo: Dados → De Texto/CSV permite definir as colunas como Texto antes que qualquer coisa seja importada, então cada valor chega como foi escrito. Para dados colados, formate a coluna de destino como Texto antes. Vale insistir nisso porque o dano é silencioso — uma coluna de CEPs em números parece correta até alguém notar os zeros à esquerda faltando, e a essa altura o CSV original já era.

Limites práticos, ditos sem rodeios

O conversor interpreta JSON de forma estrita, então uma vírgula sobrando ou uma aspa tipográfica é reportada com linha e coluna em vez de tolerada em silêncio. A entrada é limitada a 8 MB porque a conversão roda na thread principal — além disso, ela recusa em vez de congelar a aba. E o próprio CSV tem arestas que nenhum conversor remove: uma célula não distingue a string 22201 do número 22201, nem uma célula vazia de um campo ausente, então a página de ida e volta documenta essas duas ressalvas em vez de prometer ausência de perdas.

Perguntas frequentes

Meu JSON é enviado quando o converto para CSV?

Não. A conversão é uma chamada de função dentro da sua aba do navegador — não há rota de API para onde enviar o documento. Verifique: abra o DevTools, fique de olho no painel Network, cole um documento, e nenhuma requisição o carrega. A Content-Security-Policy da página define connect-src 'self', então o navegador recusaria um envio de qualquer forma. Exportações de JSON são registros reais, e é exatamente por isso que a conversão fica local.

Por que os caracteres acentuados aparecem errados quando abro o CSV no Excel?

O Excel mais antigo assume ANSI quando um CSV não tem BOM, e a saída desta ferramenta é UTF-8 sem um — o padrão moderno correto. Importe por Dados → De Texto/CSV com a codificação definida como 65001: Unicode (UTF-8) e os acentos sobrevivem. Versões do Microsoft 365 costumam detectar UTF-8 sozinhas.

Como objetos e arrays aninhados viram colunas?

Objetos se achatam em caminhos com pontos — customer.name —, e arrays em caminhos com colchetes — tags[0], tags[1]. O conjunto de colunas é a união de todos os registros na ordem em que apareceram primeiro, então campos opcionais ganham uma coluna com células vazias nos demais registros em vez de serem descartados. O modo de explodir permite a ida e volta; o modo de unir compacta arrays de escalares numa célula e tem perdas por design.

Por que meu CSV abre numa única coluna?

O delimitador não corresponde ao que o seu Excel espera — geralmente um arquivo com vírgulas num locale de ponto e vírgula, onde a vírgula é o separador decimal. Importe por Dados → De Texto/CSV e escolha o delimitador na caixa de diálogo, ou volte e escolha ponto e vírgula (ou tabulação) no conversor. O arquivo não está quebrado; o palpite estava.

Por que meus códigos de produto viraram datas ou perderam os zeros à esquerda?

Heurísticas de importação do Excel, não o arquivo: qualquer coisa com cara de data vira data, zeros à esquerda são removidos de qualquer coisa com cara de número, e IDs longos vão para notação científica. Use Dados → De Texto/CSV e defina essas colunas como Texto antes da importação, ou formate a coluna de destino como Texto ao colar.

Posso transformar o CSV de volta em JSON?

Sim — a ferramenta de CSV para JSON reconstrói o aninhamento a partir dos mesmos caminhos de coluna, então a ida e volta devolve o documento com que você começou. Duas ressalvas são do próprio CSV: uma célula não distingue uma string de um número, nem uma célula vazia de um campo ausente, então essas duas distinções existem só no JSON original.