解决gridview的excel导出问题

 以前datagrid导出为excel,只需如下代码:

Response.Clear();

Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");

Response.Charset = "";

// If you want the option to open the Excel file without saving than

// comment out the line below

// Response.Cache.SetCacheability(HttpCacheability.NoCache);

Response.ContentType = "application/vnd.xls";

System.IO.StringWriter stringWrite = new System.IO.StringWriter();

System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

gvMaster.RenderControl(htmlWrite);

Response.Write(stringWrite.ToString());

Response.End();

现在改成gridview后,以上代码会提示异常错误,经网上搜索,解决方案如下

1、在导出界面中重载
    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }
2、web.config中修改<pages enableEventValidation ="false" ></pages>

<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"

 CodeFile="ExportGridView.aspx.cs" Inherits="ExportGridView" %>

3、现在可以正常导出了。
posted @ 2005-12-30 18:11  吴建明  阅读(3153)  评论(10编辑  收藏  举报