Isso deve funcionar
28,"65154",02/21/2013 00:00,"false",="0316295","=""8316012,8315844""","MALE"
Eu tenho um aplicativo da web que está exportando seus dados para um arquivo CSV. Veja uma linha de exemplo do arquivo CSV em questão:
28,"65154",02/21/2013 00:00,"false","0316295","8316012,8315844","MALE"
Como não posso postar uma imagem, terei que explicar os resultados no Excel. O campo "0316295" é transformado em um número e o 0 inicial desaparece. O "8316012,8315844" é interpretado como um único número: 83,160,128,315,844. Isto é, obviamente, não o resultado pretendido.
Eu já vi pessoas recomendarem uma citação simples para esses casos, mas isso também não funciona.
28,"65154",02/21/2013 00:00,"false","'0316295","'8316012,8315844","MALE"
A aspa simples é visível em todos os momentos na célula no Excel, mas se eu inserir um número com uma aspas simples, eu mostro apenas a string desejada e não a aspa simples com a string.
Importar não é o mesmo que digitar, parece.
Alguém tem uma solução aqui?
Para manter o (s) zero (s) inicial (is), você pode definir o formato dessa coluna específica como Texto no Assistente de Importação de Texto.
"
. Clique em Próximo . Aqui é onde você pode especificar os formatos . Clique no cabeçalho da coluna cujo (s) zero (s) inicial (is) você deseja preservar. Selecione Texto . (Veja a imagem abaixo)
CliqueemConcluir&emseguida,selecioneumlocaladequadoparaseusdados.Resultadodaamostra:
Editar : Existe outra maneira ; ter o aplicativo da web exportado para um arquivo .TXT delimitado por vírgulas em vez de .CSV (ou apenas alterar a extensão do arquivo exportado após salvá-lo). Isso força o Excel a percorrer o assistente de importação quando abrir o arquivo. Como uma vantagem adicional, reduz as chances de os usuários modificarem ou violarem seus dados brutos originais.
O Excel trata valores numéricos que começam com um caractere de tabulação como texto.
<tabchar>000000100000200000,ABC,DEF
aparecerá como:
000000100000200000|ABC|DEF
| é o limite da célula (para fins de ilustração). Portanto, por exemplo, se o seu sistema gerar o arquivo CSV usando o conjunto de caracteres utf-8, você poderá adicionar o 	
(Tab Char em Hex) antes do valor numérico para forçar o Excel a interpretá-lo como texto.
O Excel detectará automaticamente o formato de um campo CSV, a menos que a coluna CSV esteja neste formato:
"=""Data Here"""
Isso também funciona para as planilhas do Google
Você teria que usar a funcionalidade "Dados - > Obter dados externos - > Importar texto do arquivo" no Excel para exibi-lo como texto. Este é o assistente de importação de texto @Kaze mencionado.
A única maneira de forçar o Excel a exibir números como texto da entrada, sem que o usuário precise fazer nada, é gerar um arquivo excel e especificar um "formato numérico personalizado". Eu recomendo usar uma biblioteca de exportação XLS para isso, pois não parece tão simples quanto adicionar uma linha de texto de configuração em um arquivo CSV.
tente a função de limpeza para valores que estão confusos. Por exemplo = clean ("12345678901234567890"). Ele funciona para mim para números, datas, horários, etc. Eu alertaria que, como isso não é de todo o propósito desta função, isso poderia parar de funcionar com novas versões, etc.
Tags csv import microsoft-excel string