Todos nós conhecemos o comportamento irritante do Excel de remover zeros à esquerda de arquivos CSV importados
Sou desenvolvedor e gostaria de programar um recurso de exportação que crie um arquivo CSV que force o Excel a manter os zeros à esquerda.
Eu esperava que "012345" resultasse em 012345, mas mesmo assim o Excel 2010 retira o zero à esquerda ;(
Nomear o arquivo *.txt em vez de *.csv força o Excel a usar o assistente como https://www.youtube.com/watch?v=9KDK1FRcmSo sugerido. Mas eu realmente duvido que o usuário saiba operar o assistente. Ele deve alterar o tipo de dados de "Geral" para "Texto" em uma das 30 colunas. Acredito que o usuário apenas clicará em Avançar, Avançar, Concluir.
Alguma ideia melhor que evite usar o assistente?
Existe um caractere oficial para "mascarar" um zero ao importar um arquivo CSV para o Excel? Eu tentei ' (Apóstrofo da máquina de escrever). Mas não é o mesmo entrar '0123
no Excel em comparação com abrir um CSV com extensão '0123
.
Obrigado por todos os comentários e respostas! O crédito vai para o usuário Ron Rosenfeld cuja recomendação levou a esta implementação:
Isso funciona e o número ainda é tratado como um número quando referenciado por fórmulas:
O número de exemplo a ser exibido no CSV é 00141.
Linha do arquivo CSV:
As únicas ideias adicionais que posso ter são:
Distribuir arquivos Excel em vez de CSV
Para seus usuários, instale seu próprio visualizador de arquivos CSV. Existem muitos desses visualizadores gratuitos, ou você pode escrever o seu próprio como um script ou um programa que importará corretamente o CSV para uma planilha temporária do Excel.
(Isso não funciona mais :)
A única maneira de evitar que o Excel remova os zeros ao importar dados numéricos é não ter campos numéricos.
Você pode conseguir isso colocando esses campos entre aspas duplas para que o Excel os interprete como texto, assim:
"000123"
.Você pode fazer isso, pois controla a exportação.
Tentar:
Então:
BTW: sem dois pontos, sem espaços em branco