Célula é DADO, e é por isso que esta conversão é exata
Uma planilha guarda células com referência e tipo: C5 vale 42, ponto. Não há layout a imitar, não há motor de exibição a reproduzir — o que sai daqui é o que está lá dentro.
É a diferença entre esta ferramenta e uma conversão de Word para PDF, que este produto não oferece justamente porque ali o conteúdo depende de um motor de layout que só o Word tem. Aqui não existe esse problema, e por isso a extração de planilha entrou no módulo enquanto a conversão de documento ficou de fora.
Como converter
A contagem de linhas e colunas de cada aba aparece antes de qualquer conversão, porque ler é barato: o zip já está aberto e o que se percorre é o XML de uma aba só.
- Solte o .xlsx.
- Escolha a aba, se houver mais de uma. O número de linhas mostra qual tem conteúdo.
- Escolha CSV com o separador que o seu destino usa, ou JSON.
- Converta, confira a prévia na tela, e copie ou baixe.
O separador não é preferência
No Brasil e em boa parte da Europa a vírgula é o separador DECIMAL, e o Excel dessas regiões lê e escreve CSV com ponto e vírgula. Um arquivo separado por vírgula aberto ali chega com todas as colunas grudadas numa só — e o problema não é o arquivo, é a suposição de que existe um CSV universal.
Por isso o padrão aqui é ponto e vírgula, e as três opções estão no painel: vírgula para um sistema em inglês ou um script, tabulação para colar direto numa planilha.
A citação também segue a regra: um campo só ganha aspas quando contém o separador, uma aspa ou uma quebra de linha — e aspas dentro do texto são duplicadas, que é o escape do formato.
As três indireções que o formato cobra
A primeira é a POSIÇÃO. Uma linha omite as células vazias inteiras, e a coluna está na referência da célula. Empilhar as células na ordem em que aparecem desloca tudo para a esquerda a partir do primeiro buraco — a planilha sai com as colunas trocadas, e o resultado continua parecendo plausível.
A segunda é o TEXTO. Ele quase nunca está na célula: ela guarda um índice para uma tabela de textos compartilhados noutro arquivo do pacote. Sem resolver esse índice, a planilha inteira sai como números.
A terceira é a DATA, que não existe como tipo. É um número, e o que a torna data é o formato apontado pelo estilo — mais dois saltos até os estilos do arquivo. Sem eles, toda data vira 45000.
O ano bissexto que nunca existiu
A base do número de série do Excel é 30 de dezembro de 1899, e não 31. O motivo é um erro: o Excel trata 1900 como ano bissexto, o que é falso, e o fez para ser compatível com o Lotus 1-2-3, que errava primeiro. O erro foi mantido de propósito por décadas.
Deslocar a base em um dia é o que faz as datas baterem sem um caso especial para cada faixa. É o tipo de detalhe que só aparece quando alguém compara uma planilha antiga com a conversão — e por isso está fixado em teste.
Planilhas antigas do Excel para Mac usam outra base, a de 1904, declarada no próprio arquivo. Ela é lida e respeitada.
JSON com cabeçalho, e quando ele recusa
Marcando a primeira linha como cabeçalho, o JSON vira uma lista de objetos com as chaves vindas dela — que é a forma que um script espera.
A conversão recusa fazer isso quando a primeira linha tem célula vazia ou nome repetido, e devolve listas. Uma planilha cujo topo é um título mesclado produziria um objeto com uma chave só e o resto perdido, e perder coluna em silêncio é pior do que entregar uma forma menos conveniente.
Onde ela continua
O resultado é texto e entra na cadeia: dá para seguir para o comparador de texto, para o gerador de hash, ou para cifrar o arquivo antes de mandá-lo a alguém.
Tudo roda no seu navegador. A planilha não é enviada a lugar nenhum — e num conversor de Excel online, onde o arquivo costuma ser uma base de clientes ou uma folha de pagamento, essa é a diferença que importa.