Exportar un Gridview a Excel

Si os encontrais con la situacion de necesitar en un desarrollo Web que recoge los datos de un Dataview o un SqlDataSource, exportarlo a un excel

podemos colocar un boton que realice el siguiente codigo.

 

Primero añadimos

using System.Text;
using System.IO;

 

Posteriormente en la accion:

protected void Button1_Click(object sender, EventArgs e)
{
Label8.Text = String.Format("{0:dd/MM/yyyy}",DateTime.Today);
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);

Page page = new Page();
HtmlForm form = new HtmlForm();

GridView1.EnableViewState = false;

page.EnableEventValidation = false;
page.DesignerInitialize();
page.Controls.Add(form);
form.Controls.Add(GridView1);

page.RenderControl(htw);

Response.Clear();
Response.Buffer = true;
//Response.ContentType = "application/vnd.ms-excel";
Response.ContentType = "text/plain";
Response.AddHeader("Content-Disposition", "attachment;filename=Nombre."+Label8.Text+".xls ");
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.Default;
Response.Write(sb.ToString());
Response.End();

# Yo he usado un label para automaticamente te ponga el nombre del fichero con la fecha.
}

Codigo original en http://www.buayacorp.com/

Os pongo su ejemplo. Gridview to Excel

Compartir

One&One

SEMrush

Visitanos en: