string FileName = "InvoiceStatistics" + DateTime.Now.ToShortDateString();
string style = @"<style> .text { mso-number-format:\@; } </script> ";
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=" + FileName + ".xls");
Response.ContentType = "application/excel";
Response.Charset = "gb2312";
Response.ContentEncoding = System.Text.UTF8Encoding.GetEncoding("gb2312");
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
this.GridView1.AllowPaging = false; //屏蔽分页
dataLoad();//数据加载
this.GridView1.RenderControl(htw);
this.GridView1.Dispose();
Response.Write(style);
Response.Write(sw.ToString());
Response.End();
还需要添加此方法 public override void VerifyRenderingInServerForm(System.Web.UI.Control control)
{
}
当出现的异常的提示:
异常详细信息: System.InvalidOperationException:只能在执行Render()的过程中调用RegisterForEventValidation;
解决办法:
出现这个异常,解决问题只需要在<%@ Page %> 指令中加上 EnableEventValidation="false"