none
Problema com acentuação RRS feed

  • Pergunta

  • Bom dia,

    estou escrevendo em um arquivo excel mas quando ele escreve algo que tem acento ele coloca simbolos.

    sw.WriteLine(dr3[

    "TRIBUNAL"].ToString() + "\t" + dr3["NOME_TITULAR"].ToString() + "\t" + dr3["ENDERECO"].ToString() + "\t" + dr3["BAIRRO"].ToString() + "\t" + dr3["CEP"].ToString() + "\t" + dr3["CIDADE"].ToString() + "\t" + dr3["ESTADO"].ToString());


    alguem saberia me dizer como faço para codificar??

    abraços!!!

    sexta-feira, 9 de outubro de 2009 14:22

Respostas

  • Neto,

    Você criou um arquivo no formato texto separado por tabulação, ou seja, o arquivo não é um formato XLS. Assim, para importar um arquivo com essa formatação para um arquivo XLS já existente, devemos utilizar a importação de dados do Excel.

    No Excel 2003, vá até o menu Dados > Importar dados externos > Importar Dados e siga o assistente realizando a modificação onde escrevi (dados de origem). No Excel 2007, vá até a aba Dados e na seção Obter Dados Externos escolha a opção De Texto e faça o mesmo.

    Assim, seu arquivo abre com os acentos, sem problemas.

    Para exportar os dados para um arquivo no formato XLS, por meio de programação, o ideal seria realizar uma automação no Excel e utilizar as classes da biblioteca COM do mesmo.

    Att.

    Ari C. Raimundo
    sábado, 10 de outubro de 2009 02:33
    Moderador

Todas as Respostas

  • Neto,

    Crie o seu StreamWriter (suponho que o sw seja um objeto dessa classe) com Encoding definido como Encoding.UTF8. Na importação do seu arquivo separado por tabulação (o arquivo mostrado no post) no Excel, na janela "Assistente de Importação de Texto", altere a opção "Origem do Arquivo" para "65001: Unicode (UTF-8)".

    Espero ter ajudado.

    Att.

    Ari C. Raimundo
    sexta-feira, 9 de outubro de 2009 17:28
    Moderador
  • Ari obrigado pela ajuda,

    mas está acontecendo o seguinte, eu debugo o sistema e vejo na variavel ele passa com a acentuação correta

    sw.WriteLine(dr3[

    "TRIBUNAL"].ToString() + "\t" + dr3["NOME_TITULAR"].ToString() + "\t" + dr3["ENDERECO"].ToString() + "\t" + dr3["BAIRRO"].ToString() + "\t" + dr3["CEP"].ToString() + "\t" + dr3["CIDADE"].ToString() + "\t" + dr3["ESTADO"].ToString());


    mas quando eu abro o arquivo excel ele mostra assim

    TRT 01ª REGIÃO e o correto é TRT 01ª REGIÃO

    obrigado!
    sexta-feira, 9 de outubro de 2009 19:25
  • Neto,

    Você não está criando um arquivo no formato do Excel, mas sim criando um arquivo texto separado por tabulação. Já tentou importar o arquivo no Excel tal como eu sugeri?

    Att.

    Ari C. Raimundo
    sexta-feira, 9 de outubro de 2009 19:35
    Moderador
  • Não Ari.. nao entendi muito bem como fazer isso? poderia me explicar por favor?
    sexta-feira, 9 de outubro de 2009 19:37
  • Neto,

    Você criou um arquivo no formato texto separado por tabulação, ou seja, o arquivo não é um formato XLS. Assim, para importar um arquivo com essa formatação para um arquivo XLS já existente, devemos utilizar a importação de dados do Excel.

    No Excel 2003, vá até o menu Dados > Importar dados externos > Importar Dados e siga o assistente realizando a modificação onde escrevi (dados de origem). No Excel 2007, vá até a aba Dados e na seção Obter Dados Externos escolha a opção De Texto e faça o mesmo.

    Assim, seu arquivo abre com os acentos, sem problemas.

    Para exportar os dados para um arquivo no formato XLS, por meio de programação, o ideal seria realizar uma automação no Excel e utilizar as classes da biblioteca COM do mesmo.

    Att.

    Ari C. Raimundo
    sábado, 10 de outubro de 2009 02:33
    Moderador
  • Ari vou ter que fazer um sistema utilizando a biblioteca COM para gerar um arquivo excel mesmo... de qualquer forma muito obrigado pela atenção e pela ajuda!
    terça-feira, 13 de outubro de 2009 15:41