Cosita tonta...clase que emite una tabla compatible con Excel desde un DataSet
Muy simple y basado en el uno sobre el que blogueé anteriormente (bien no basado en el código, pero basado en la misma idea). De todos modos, enganchar esto a un botón de enlace, pasar en un conjunto de datos y proporcionará un archivo compatible con Excel descargable...
clase pública GetExcel
{
vacío estático público Convert(DataSet ds, int dataTableId, HttpResponse response, string fileName)
{
DataGrid dg = nuevo DataGrid();
dg.DataSource = ds.Tablas[datosTablaId];
dg.DataBind();
reponse.Buffer = true;
respuesta.ContentType="aplication/vnd.ms-excel";
response.AddHeader("Disposición de contenido", "attachment;filename=" + fileName) ;
using(StringWriter sw = new StringWriter())
{
using(HtmlTextWriter writer = new HtmlTextWriter(sw))
{
dg.RenderControl(writer);
respuesta.Write(sw.ToString());
}
}
respuesta.Fin();
}
(DataSet ds, int dataTableId, HttpResponse response)
{
Convertir(ds,dataTableId,response,"report.xls");
}
vacío estático público Convertir (DataSet ds, HttpResponse response)
{
Convertir(ds,0,response);
}
}