ho risolto spostando il controllo con un bottone in una nuova pagina dove definisco solo la gridview e nella page load inserisco il seguente codice
codice:
if (!(Page.IsPostBack))
{
Response.Clear();
Response.AddHeader("content-disposition","attachment;filename=Report.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
gvexport.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
}
public override void VerifyRenderingInServerForm(Control aControl)
{
}
cliccando sul bottone il controllo viene trasferito all'altra pagina ma la gridview lì definita non si apre ma viene automaticamente travasata in un foglio excel
grazie