Autor: Bruno Gross - mail@brunogross.com

Parceria - Extraído do site - www.codigofonte.com.br

Maneira simples de exportar Datagrids para arquivos do Excel.


//limpo a resposta do HTTP
Response.Clear();
//adiciono o cabeçalho que faz o .Net entender que se trata de um xls
Response.AddHeader("content-disposition", "attachment;filename=Arquivo.xls");
//zero o charset
Response.Charset = "";
//desabilito o cache do browser
Response.Cache.SetCacheability(HttpCacheability.NoCache);
//Seto o content type para xls
Response.ContentType = "application/vnd.xls";
//Crio um String Writer
System.IO.StringWriter sWr= new System.IO.StringWriter();
//Transformo em HTML String Writer
System.Web.UI.HtmlTextWriter hWr= new HtmlTextWriter(sWr);
//Mando o datagrid (que deve ser criado antes de renderizar o HtmlTextWriter criado
dgExemplos.RenderControl(hWr);
//mando escrever na tela. Com todos os cabeçalhos setados, é aberto p salvar o XML
Response.Write(sWrs.ToString());
//Fecho a resposta.
Response.End();