gridview數據源導出到EXCEL的方法

protectedvoidPage_Load(objectsender,EventArgse)
{
 if(!Page.IsPostBack)
 {
  BindData();
 }
}
privatevoidBindData()
{
 stringquery=/"SELECT*FROMcustomers/";
 SqlConnectionmyConnection=newSqlConnection(ConnectionString);
 SqlDataAdapterad=newSqlDataAdapter(query,myConnection);
 DataSetds=newDataSet();
 ad.Fill(ds,/"customers/");
 GridView1.DataSource=ds;
 GridView1.DataBind();
}

publicoverridevoidVerifyRenderingInServerForm(Controlcontrol)
{
 //ConfirmsthatanHtmlFormcontrolisrenderedfor
}

protectedvoidButton1_Click(objectsender,EventArgse)
{
 Response.Clear();
 Response.AddHeader(/"content-disposition/",/"attachment;filename=FileName.xls/");
 Response.Charset=/"gb2312/";
 Response.ContentType=/"application/vnd.xls/";
 System.IO.StringWriterstringWrite=newSystem.IO.StringWriter();
 System.Web.UI.HtmlTextWriterhtmlWrite=newHtmlTextWriter(stringWrite);

 GridView1.AllowPaging=false;
 BindData();
 GridView1.RenderControl(htmlWrite);

 Response.Write(stringWrite.ToString());
 Response.End();
 GridView1.AllowPaging=true;
 BindData();
}
protectedvoidpaging(objectsender,GridViewPageEventArgse)
{
 GridView1.PageIndex=e.NewPageIndex;
 BindData();
}

解決方案:

1、在導出界面中重載
publicoverridevoidVerifyRenderingInServerForm(Controlcontrol)
{
//base.VerifyRenderingInServerForm(control);
}
2、在web.config中修改<pagesenableEventValidation=/"false/"></pages>


<%@PageLanguage=/"C#/"EnableEventValidation=/"false/"AutoEventWireup=/"true/"

CodeFile=/"ExportGridView.aspx.cs/"Inherits=/"ExportGridView/"%> <SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </SCRIPT> <script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script> <SCRIPT src="http://pagead2.googlesyndication.com/pagead/render_ads.js"></SCRIPT> <script>window.google_render_ad();</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章