Ho trovato vari esempi in rete dovendo esportare un GridView asp.net 2.0 in Excel.
Vi posto come fare nel caso in cui il gridview usato sia usato semplicemente usato da designer e paginato:

 

Mettere nel codebehind il codice del bottone/link server e anche l'override di "VerifyRenderingInServerForm"

protected void linkExportToExcel_Click(object sender, EventArgs e) { Response.Clear(); Response.AddHeader("content-disposition", "attachment;filename=ElencoUtentiSM.xls"); Response.Charset = ""; Response.ContentType = "application/vnd.xls"; System.IO.StringWriter stringWrite = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); GridView dg = new GridView(); dg = this.GridView1; dg.AllowSorting = false; dg.AllowPaging = false; dg.DataBind(); dg.RenderControl(htmlWrite); Response.Write(stringWrite.ToString()); Response.End(); } public override void VerifyRenderingInServerForm(Control control) { /* Confirms that an HtmlForm control is rendered for the specified ASP.NET server control at run time. */ }

E' importante mettere nella pagina aspx la direttiva EnableEventValidation="false" come sotto riportato

<%@ Page Language="C#" MasterPageFile="~/Include/MasterPages/BO.master" EnableEventValidation="false" ....