MS Excel: salvar planilha separada por tabulação com o fim de linhas UNIX e UTF-8?

4

Eu tenho um arquivo de texto separado por tabulações com uma tabela que possui caracteres de fim-de-linha do UNIX (por exemplo, \n ) e codificação UTF-8. Eu posso abri-lo no MS Excel 2010 sem maiores problemas usando Data → Import e selecionando opções relacionadas. No entanto, se eu salvá-lo de volta em um arquivo de texto usando Arquivo → Salvar como → Separado por tabulações, acabo com um arquivo com fim-de-linha do DOS (ou seja, \r\n ) e codificação nacional do Windows de um byte (ou seja, "ANSI").

É claro que posso restaurar o final de linha e codificação adequados com uma ferramenta externa, mas isso parece um monte de problemas a longo prazo.

Existe uma maneira rápida de salvar arquivos separados por tabulações com EOLs do UNIX e em UTF8 (ou seja, usando todas as configurações que foram usadas durante a importação) no MS Excel?

GreyCat
fonte
1
você está aberto para usar uma solução VBA?
jjk_charles

Respostas:

3

Resposta curta: não. O Excel não pode fazer isso sem usar o VBA.

Sobre diferentes codificações
Verifica essa pergunta sobre o Stackoverflow sobre as diferentes codificações (UTF-8, UTF-16, Unicode, etc.)

O que o Excel pode fazer
Microsoft Excel posso exportar arquivos de texto usando ANSI ( Windows-1252 ou ISO-8859-1 , que são bastante similar ) ou usando Unicode (que é o mesmo que UTF-16). Ambos têm um final de linha no estilo DOS ([CR] + [LF] ou '\ r \ n' ou no código ASCII HEX: 0x0D0A).

O que o Excel não pode fazer
Microsoft Excel não pode exportar UTF-8 e não pode usar novas linhas de estilo UNIX ([LF] ou '\ n' ou em código ASCII HEX: 0x0D).

Vejo este artigo da base de dados de conhecimento da Microsoft onde isso é confirmado. Eles revertem para outra ferramenta (como o Bloco de Notas) para salvar o arquivo ANSI em UTF-8.

Para uma resposta do VBA, consulte esta solução .

agtoever
fonte
Mesmo? Eu tinha certeza que apoiava pelo menos UTF-16 ...
grawity
O Excel na verdade tem uma opção Salvar como para o texto Unicode (* .txt). No entanto, isso não é UTF-8 e produz caracteres de fim de linha do DOS. Você provavelmente precisará usar uma ferramenta externa, por exemplo Notepad ++ e observe a funcionalidade Macro.
Mike Honey
@MikeHoney bom ponto. Expandido a resposta: mencionado ANSI, bem como suporte a UTF-16 (Unicode) e fez uma observação sobre CR + LF vs LF também.
agtoever
Faz sentido, obrigado. Uma resposta negativa ainda é uma resposta.
GreyCat