Você dá dois cliques em um CSV e o Excel "ajuda". O CEP 01234 vira 1234. O número do pedido 4012888888881881 vira 4,01289E+15, e o último dígito é trocado por zero. O código de produto 3-5 vira 3 de maio. Nada disso está no arquivo. O Excel fez isso ao abrir, e, se você salvar, fica permanente.
A solução não é abrir o arquivo de um jeito diferente a cada vez e torcer. É impedir o Excel de adivinhar, e isso leva cerca de um minuto.
A resposta rápida
- Não dê dois cliques no CSV. Use Dados → De Texto/CSV e defina as colunas frágeis como Texto antes de carregar.
- No Microsoft 365, desative as conversões indesejadas em Arquivo → Opções → Dados → Conversão automática de dados.
- Nunca salve por cima do original depois de abri-lo com dois cliques. O estrago é gravado no arquivo naquele momento.
- Google Planilhas: Arquivo → Importar, e desmarque Converter texto em números, datas e fórmulas.
O que o Excel muda, e por quê
Um CSV não tem tipos: todo valor é texto. O Excel quer números e datas, então adivinha, coluna por coluna, célula por célula. Os palpites que causam problema:
| Você tinha | O Excel mostra | O que aconteceu |
|---|---|---|
01234 | 1234 | Zero à esquerda removido de um "número" |
4012888888881881 | 4,01289E+15 | Notação científica; os dígitos depois do 15º viram 0 |
3-5, 1/2 | 5-mar, 2-jan | Lido como data |
MARCH1, SEPT2 | 1-Mar, 2-Sep | Lido como data (um problema famoso com nomes de genes) |
1E5 | 100000 | Lido como notação científica |
=1+1 | 2 | Lido como fórmula |
TRUE | TRUE (como booleano) | Em geral inofensivo, até virar um nome |
Dois desses casos são destrutivos, e não apenas estéticos. A notação científica em um número de 16 dígitos descarta o último dígito, porque o Excel guarda números com 15 algarismos significativos. E um valor lido como data é guardado como número de série de data. Se você voltar o formato para texto, vai ver um número de série como 46086, não 3-5.
O momento que importa é o Salvar. Abrir um CSV muda o que você vê. Salvar como CSV grava de volta no arquivo o que você vê, e os valores originais se perdem.
Solução 1: importar em vez de abrir
Isso funciona em todas as versões desktop do Excel desde 2016.
- Abra uma pasta de trabalho em branco.
- Dados → De Texto/CSV e escolha o arquivo.
- Na visualização, clique em Transformar Dados (não em Carregar).
- No Power Query, selecione cada coluna frágil: IDs, CEPs, telefones, códigos de produto, números de conta. Depois Transformar → Tipo de Dados → Texto. Se ele perguntar, escolha Substituir atual.
- Fechar e Carregar.
Os valores chegam exatamente como estão escritos. Você ainda pode fazer contas com as colunas realmente numéricas, porque só desligou o palpite onde ele causava problema.
Se preferir o assistente antigo: Arquivo → Opções → Dados → Mostrar assistentes de importação de dados herdados → De Texto (Herdado). Ele passa a aparecer em Dados → Obter Dados → Assistentes Herdados, e a etapa 3 do assistente permite marcar colunas como Texto.
Solução 2: desativar a conversão automática
As versões recentes do Excel para Microsoft 365 têm configurações exatamente para isso, em Arquivo → Opções → Dados → Conversão automática de dados:
- Remover os zeros à esquerda e converter em um número
- Manter os primeiros 15 dígitos de números longos e exibir em notação científica
- Converter dígitos ao redor da letra "E" em um número em notação científica
- Converter letras e números contínuos em uma data
Desmarque as que atrapalham. Há também uma opção para ser avisado quando o Excel converte algo ao abrir um CSV, e vale deixá-la ligada: ela transforma uma mudança silenciosa em uma visível.
Essas configurações valem também para a abertura com dois cliques, o que as torna a solução mais conveniente. Também são as menos portáteis: a pessoa para quem você envia o arquivo tem as próprias configurações.
Solução 3: Google Planilhas e Numbers
O Google Planilhas também converte por padrão. Use Arquivo → Importar → Fazer upload e, na caixa de importação, desmarque Converter texto em números, datas e fórmulas. Tudo chega como texto, exatamente como está escrito.
O Numbers no Mac e no iPhone também remove zeros à esquerda e lê valores parecidos com datas como datas. Selecione a coluna e defina o formato como Texto para evitar isso em novas entradas, mas a conversão ao abrir já aconteceu. Se os dados importam, confira alguns valores conhecidos com o arquivo original.
Soluções que parecem espertas e não são
- Escrever os valores como
="01234"no CSV. O Excel mostra01234. Qualquer outra ferramenta que ler o arquivo vê uma fórmula, e o próximo sistema que receber sua exportação também. - Colocar um apóstrofo,
'01234. Mesmo problema: o apóstrofo passa a fazer parte dos seus dados em todo lugar, menos no Excel. - Formatar a coluna como Texto depois de abrir. Tarde demais. O zero já se foi; a formatação não o traz de volta.
No celular
Os celulares têm o mesmo problema, com menos configurações. O Numbers no iPhone e os apps Planilhas e Excel convertem ao abrir, e um CSV salvo de novo por eles carrega as alterações.
Um app de CSV que trata toda célula como texto não tem esse problema, porque nunca converte. No Smart CSV Viewer você ainda pode dizer que uma coluna contém números, moeda ou datas, para que ela seja ordenada e filtrada corretamente, mas o tipo só muda como a coluna é exibida. O texto no arquivo continua como estava.

Mostra uma coluna como número, moeda ou data sem reescrevê-la, então zeros à esquerda, IDs longos e códigos ficam exatamente como estão no arquivo.
O que ele fazUm hábito que vale a pena
Antes de confiar em qualquer CSV que passou por uma planilha, confira três valores fáceis de estragar: um ID com zero à esquerda, o maior número do arquivo e um código que parece uma data. Se esses três sobreviveram, o resto quase certamente também. O guia CSV vs XLSX explica por que isso acontece com qualquer planilha, não só com o Excel.