GridView的excel文件导出方法如下,VerifyRenderingInServerForm方法必须有,否则会报错,同时,在ASPX页面代码<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>须增设红色字体部分设置。
- public override void VerifyRenderingInServerForm(Control control)
- {
- // base.VerifyRenderingInServerForm(control);
- }
- protected void Button2_Click(object sender, EventArgs e)
- {
- GridView1.AllowPaging = false; //取消分页
- GridView1.DataSource = ds; //重新数据绑定
- GridView1.DataBind();
- Response.Clear();
- Response.Buffer = true;
- Response.Charset = "GB2312";
- Response.AppendHeader("Content-Disposition", "p_w_upload;filename=total.xls");
- //gaoyang [10/21/2006] 经测试如果设置为 GetEncoding("GB2312"),导出的文件将会出现乱码。
- Response.ContentEncoding = System.Text.Encoding.UTF8;
- //设置输出文件类型为excel文件。
- Response.ContentType = "application/ms-excel";
- System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
- System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
- GridView1.RenderControl(oHtmlTextWriter);
- Response.Output.Write(oStringWriter.ToString());
- Response.Flush();
- Response.End();
- GridView1.AllowPaging = true; //设置分页
- GridView1.DataSource = ds; //重新数据绑定
- GridView1.DataBind();
- }
1、不分页数据的重新绑定,因为不这样做,则导出的文件只是当前页的数据。