Gero um arquivo CSV com uma extensão .csv na qual todos os dados de uma linha são separados por vírgula:
1,2,3,4
1,2,3,4
O arquivo é enviado por e-mail e quero que, quando um cliente o abra, ele veja dados organizados em colunas.
Isso é possível?
PS: Eu posso mudar livremente o delímetro.
microsoft-excel
microsoft-excel-2010
csv
Timofey
fonte
fonte
Respostas:
Use a guia em vez de vírgula. E se isso não funcionar, forneça ao arquivo delimitado por tabulação uma extensão xls.
fonte
se é apenas para obter a
csv
legibilidade em todos os sistemas, há um truque não documentado: na primeira linha, escrevaSEP=;
. Essa linha informa ao EXCEL qual caractere usar como separador (na verdade, você pode usar qualquer caractere (único) (;,|@#'
...))NOTA: esta linha é apenas parte do
csv
próprio arquivo. Vai não se tornar parte da spreadsheed no Excel. isto significa, não será mostrado e não será gravado, independentemente do formato que você definir para gravar ou exportar.fonte
O comportamento do Excel ao abrir arquivos CSV depende muito das configurações locais e do usado
list separator
emRegion and language » Formats » Advanced
. Por padrão, o Excel assume que todos os CSV foram salvos com esse separador. O que é verdade desde que o CSV não venha de outro país!Se seus clientes estiverem em outros países, eles poderão ver outros resultados, então você pensa.
Por exemplo, aqui você vê que um Excel alemão usará ponto e vírgula em vez de vírgula como nos EUA
Para confundir ainda mais, essa configuração interfere no símbolo decimal, que pode ser configurado separadamente nas
Excel Options » Advanced » Use system separators
configurações regionais ou através das configurações regionais, como mostrado acima. O Excel não pode usar o mesmo símbolo da guia decimal e do separador de listas. Ele usará automaticamente vírgula ou ponto-e-vírgula como um separador de backup. Consulte Mais informaçãoVou dar o seu exemplo para criar 3 arquivos. Cada um com um separador diferente e abra-o com o Excel.
Não é o mesmo que o seu Excel faz? Eu pensei assim.
Então, vamos alterar manualmente a extensão dos mesmos arquivos CSV para XLS e ver o que acontece agora. Primeiro, o Excel emitirá um aviso de que a extensão do arquivo não corresponde ao conteúdo e o Excel tenta adivinhar o que está dentro.
Conclusão: TAB + renomear + ignorar aviso = Ganhar em todos os sistemas?
Talvez, mas eu não teria tanta certeza para clientes fora do seu país.
O melhor método é instruir seus clientes a abrir primeiro um Excel em branco e, em seguida, ir
Data » Get data from text
e selecionar vírgula manualmente como separadorfonte
Você pode substituir ".csv" por ".txt", iniciar o Excel e abrir esse arquivo .txt. Em seguida, o Excel mostrará um assistente onde você pode especificar o uso de "," como separador. Quando você salvar esse arquivo como .csv novamente, na próxima vez que o Excel o abrir da maneira que você precisar.
fonte
Outra solução que usei nessa situação foi a saída de um arquivo HTML básico, em vez de CSV. O Excel pode abrir isso sem erros. Também pode ler pelo menos parte da formatação no arquivo.
fonte
Esta é a resposta mais idiota de todos os tempos, mas funcionou. Eu uso arquivos CSV diariamente. Eu os crio o tempo todo e visualizo com o excel. Hoje, depois de 12 anos de nunca ver esse problema, aconteceu comigo. Não abriria um arquivo csv e formataria as colunas. Mesmo alguns arquivos CSV que criei na noite passada com o Excel, abririam em uma coluna por linha.
Solução: verifique no gerenciador de tarefas todas as instâncias abertas do Excel.exe. Mate todas as instâncias e tente abrir o arquivo csv novamente.
facepalm
fonte
A curto prazo, se você precisar abrir apenas um arquivo CSV que lhe foi enviado de outro país -
Abra o arquivo no wordpad e use find e replace para alterar todos os separadores que o país emissor usou (por exemplo;;) e substitua por uma vírgula. (por exemplo ,).
Basta verificar se o país emissor não usa vírgula no lugar de outro símbolo (por exemplo, na Espanha, eles usam vírgula em que usamos uma casa decimal, para que você precise encontrar e substituir a vírgula por uma casa decimal e depois encontrar e substituir o outro símbolo com a vírgula).
Não é uma solução a longo prazo, mas é suficiente para tornar o arquivo legível se você estiver com pressa e não puder acessar o painel de controle no trabalho.
fonte
Eu vim sobre o mesmo problema. Eu tinha um arquivo CSV que o Excel estava analisando incorretamente e precisava do Assistente de Importação.
A correção simples foi renomear CSV para TXT e o Assistente surgiu ajudando a reconhecer a estrutura da coluna corretamente.
fonte
Uma resposta relacionada a isso - especialmente para problemas do MacOS / OSX com o Excel que reconhecem vírgulas:
no Excel 2019 não abre o CSV corretamente - não analisa as colunas: /superuser//a/1506042/1116939
fonte