.NET

Escrevendo um arquivo CSV usando ASP.NET

Olá pessoal!

Hoje venho com uma dica simples de como podemos exportar informações de nossas aplicações web em .NET usando um arquivo CSV.

*No exemplo em questão, estou usando o .NET Framework 4.0.

O processo de exportação basicamente consiste em escrevermos linha a linha de um arquivo e depois finalizarmos o documento passando qual será a extensão dele, que no nosso caso será .csv.

Utilizaremos o HttpResponse para escrevermos as nossas linhas e depois baixar o documento gerado já na extensão desejada.

A função a ser utilizada é o Response.Write, onde escreveremos cada uma das linhas do nosso arquivo.

Vamos criar um método para fazer nosso export:

print-4

 

Explicando o código:

  1. A primeira linha, contendo o “Response.Clear();” é responsável por limpar o conteúdo do response para que não tenhamos nenhuma sujeira na hora de exportar nossos dados;
  2. Na segunda linha contendo o “Response.Write(‘Nome\t RG\t CPF’);'”, é responsável por imprimir na tela o cabeçalho; *O “\t” na hora da conversão do aquivo para csv é o que faz com que seja reconhecido que é uma coluna, por isso nesse modelo estamos criando um arquivo com 3 colunas, a Nome, RG e CPF;
  3. Na linha posterior, utilizamos o “Response.Write(Environment.NewLine);”, que é responsável por fazer om que o sistema reconheça que estamos dando um “enter” e pulando para a linha debaixo;
  4. As linhas posteriores funcionam da mesma forma como descrito acima, porém já colocando nosso conteúdo nas linhas desejadas.

Após essa primeira parte, temos a mágica do negócio. A criação propriamente dita do arquivo csv.

Para isso, utilizamos as três últimas linhas do código, sendo a primeira coisa a fazer é dar o tipo do conteúdo, usando o Response.ContentType = “text/csv”; *Para saber mais sobre os tipos de conteúdo do Response clique no link ao lado https://msdn.microsoft.com/en-us/library/ms525208%28v=vs.90%29.aspx

Após setar o tipo de conteúdo, vamos adicionar um cabeçalho ao arquivo, utilizando o comando Response.AppendHeader(); (*Para saber mais sobre o método clique no link ao lado https://msdn.microsoft.com/pt-br/library/system.web.httpresponse.appendheader%28v=vs.110%29.aspx)

Nesse método de AppendHeader, passamos como primeiro parâmetro o nome do cabeçalho, no caso Content-Disposition e depois como segundo parâmetro o seu valor, que no caso estamos utilizando o “attachment; filename=NomedoArquivo.csv”, onde está o “NomedoArquivo” você pode colocar o nome que desejar.

Com isso, ao rodar nossa aplicação e chamar o método, o sistema irá gerar a tela de download para baixarmos nosso arquivo gerado:

print-5

E ao salvar o arquivo, temos o arquivo CSV dividido da forma como escrevemos nosso código.

print-6

 

Viram? Simples e rapido conseguimos fazer um método para escrita de arquivos CSV com ASP.NET!

Fiquem ligados pois no próximo post mostro como vamos ler nosso arquivo!

Até lá!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.