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