分享另外一个导出Excel的方法

上一次分享过一个导出EXCEL的类,那个类呢,只要传入一个DataSet对象进去,然后查询数据库,并最后汇到EXCEL中去。这里面,如果你是要把GridView中的数据汇出EXCEL的话,那下面这个办法可能会更好一些。

 1     /// <summary>
 2     /// 必须重写这个办法,虽然它没有执行任何操作
 3     /// </summary>
 4     /// <param name="control"></param>
 5     public override void VerifyRenderingInServerForm(Control control)
 6     {
 7         //base.VerifyRenderingInServerForm(control);
 8     }
 9     //Thist is a helper method used to export gridview data to excel file.
10     //把GridView内容导出到Excel文件,包括GridView的格式页头、页脚也一起导出。
11     //注:调用该方法导出时,需在 <%@ Page %> 中加入 EnableEventValidation="false" 
12     private void ExportGridViewDateToExcelFile(GridView gridView, string sExcelFileName)
13     {
14         //Response.Clear();
15         Response.ClearContent();
16         Response.AddHeader("content-disposition", "attachment;filename=" + sExcelFileName + ".xls");
17         Response.ContentType = "application/ms-excel";
18 
19         StringWriter strWriter = new StringWriter();
20         HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
21 
22         gridView.RenderControl(htmlWriter);
23         //System.Data.DataTable dt = (System.Data.DataTable)(gridView.DataSource);
24 
25         Response.Write(strWriter.ToString());
26         Response.End();
27     }

注意,使用本方法需要在 <%@ Page %> 中加入 EnableEventValidation="false"

 

调用的办法也很简单,直接把GridView的ID传进来就OK了,如下(后面的是导出的名字,为防止乱码,直接输出日期作为名称即可):

ExportGridViewDateToExcelFile(Gridview1,  DateTime.Now.ToString("yyyyMMdd"));

 

posted @ 2013-04-15 11:03  Seasons1987  阅读(281)  评论(0编辑  收藏  举报