Desenvolvimento - ASP. NET
Exportar arquivos (listas) para o Excel
Veja neste artigo como exportar uma lista para excel, sem usar componentes de terceiro.
por Roberto Pereira do ValeExportar arquivos (listas) para o Excel
Sei que existe uma gama gigantesca de formas para realizar esta tarefa, existem amigos que até utilizam componentes de terceiros.
Logo quando comecei a programar em asp.net ( 5 anos atrás) tive que realizar esta tarefa e elaborei esta forma simples de fazer, nunca encontrei uma outra forma que seja mais simples que esta. Claro que esta aberto a criticas, mas para quem programa em WebForms acredito que seja uma boa idéia.
public void ExportarExcel_Click()
{
var listCarregaExcel = (from x in (BO.SelecioDados(p))
select new { Nome = x.ch_Nome,
CPF = x.num_CPF,
TELEFONE = x.Celular,
DATA = x.dt_EnvioMP.ToString("dd/MM/yyyy"),
CARTAO = x.Num_Cartao,
STATUS = x.STATUS
});
if (listCarregaExcel != null)
{
DataGrid rptExcel = new DataGrid();
rptExcel.DataSource = listCarregaExcel;
rptExcel.DataBind();
Response.Clear();
Response.Buffer = true;
Response.ContentEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
Response.AddHeader("content-disposition", "attachment;filename=Relatorio.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
rptExcel.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
rptExcel = null;
listCarregaExcel = null;
Response.End();
}
else
{
ScriptManager.RegisterStartupScript(this, Page.GetType(), "Mesage", "alert('Não existem dados para gerar planilha');", true);
}
}
È isso espero que seja útil.
Roberto Vale