Categorias

Exportar DataGrid para Excel

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 para salvar o XML
Response.Write(sWrs.ToString());
//Fecho a resposta.
Response.End();