GridView的excel文件导出方法如下,VerifyRenderingInServerForm方法必须有,否则会报错,同时,在ASPX页面代码<%@ Page Language="C#"  EnableEventValidation = "false" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>须增设红色字体部分设置。

  1. public override void VerifyRenderingInServerForm(Control control)  
  2.     {  
  3.         // base.VerifyRenderingInServerForm(control);  
  4.     }  
  5.     protected void Button2_Click(object sender, EventArgs e)  
  6.     {  
  7.         GridView1.AllowPaging = false;  //取消分页
  8.         GridView1.DataSource = ds;  //重新数据绑定
  9.         GridView1.DataBind();  
  10.         Response.Clear();  
  11.         Response.Buffer = true;  
  12.         Response.Charset = "GB2312";  
  13.         Response.AppendHeader("Content-Disposition""p_w_upload;filename=total.xls");  
  14.         //gaoyang [10/21/2006] 经测试如果设置为 GetEncoding("GB2312"),导出的文件将会出现乱码。  
  15.         Response.ContentEncoding = System.Text.Encoding.UTF8;  
  16.  
  17.         //设置输出文件类型为excel文件。   
  18.         Response.ContentType = "application/ms-excel";  
  19.         System.IO.StringWriter oStringWriter = new System.IO.StringWriter();  
  20.         System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);  
  21.         GridView1.RenderControl(oHtmlTextWriter);  
  22.         Response.Output.Write(oStringWriter.ToString());  
  23.         Response.Flush();  
  24.         Response.End();  
  25.         GridView1.AllowPaging = true;  //设置分页
  26.         GridView1.DataSource = ds;  //重新数据绑定
  27.         GridView1.DataBind();  
  28.     } 

 1、不分页数据的重新绑定,因为不这样做,则导出的文件只是当前页的数据。