Despues de estar probando y probando al fin me resulto, ¿Como sacamos los datos de un GridView a un hoja de Excel?.
Primero supongo que ya tienen todos los datos en el Gridview y ya se muestra en el webForm.
Como segundo paso tenemos que agregar un boton y en el evento click agregamos el siguiente codigo:
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GridView1.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
Si lo corremos en este momento nos va a dar el siguiente error
Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server.
Entonces lo que debemos hacer es agregar el metodo sobrecargado del metodo VerifyRenderingInServerForm, y dentro de este metodo no ponemos nada, de la siguiente manera:
public override void VerifyRenderingInServerForm(Control control)
{
}
Y asi ya tenemos funcionando nuestro Gridview y lo podemos exportar a excel.
Si no queremos presionar el boton para que se exporte sino que queremos que al cargar la pagina se exporte a excel lo que debemos de hacer es copiar el mismo codigo al evento load del gridview y ya, espero les sirva, dejen su comentario y nos vemos a la proxima.
octubre 14, 2007
Etiquetas: asp.net, c# 10 comentarios
Suscribirse a:
Entradas (Atom)