将GridView数据导出到Excel实现

简介:

最近想整理一些词库,懒得手动找,又怕手一哆嗦有遗漏,决定写程序完成吧。

首先将数据用GridView控件显示到页面上,效果如下:

 

接下来将GridView中的内容导出到Excel,方法如下:

 

复制代码
  ///   <summary>
    
///  由GridView导出Excel
    
///   </summary>
    
///   <param name="ctl"> GridView控件ID </param>
    
///   <param name="FileName"> 导出Excel名称 </param>
     private   void  ToExcel(Control ctl,  string  FileName)
    {
        HttpContext.Current.Response.Charset 
=   " UTF-8 " ;
        HttpContext.Current.Response.ContentEncoding 
=  System.Text.Encoding.UTF8;
        HttpContext.Current.Response.ContentType 
=   " application/ms-excel " ;
        HttpContext.Current.Response.AppendHeader(
" Content-Disposition " " attachment;filename= "   +   ""   +  FileName);
        ctl.Page.EnableViewState 
=   false ;
        System.IO.StringWriter tw 
=   new  System.IO.StringWriter();
        HtmlTextWriter hw 
=   new  HtmlTextWriter(tw);
        ctl.RenderControl(hw);
        HttpContext.Current.Response.Write(tw.ToString());
        HttpContext.Current.Response.End();
    }
复制代码

 

 

在按钮上添加事件来导出Excel。注意,因为GridView是有分页和排序设置的,为了能够显示完整的数据,要先取消分页排序,导出之后再恢复设置。代码如下:

 

复制代码
   protected   void  btnExport_Click( object  sender, EventArgs e)
    {
        gvWord.AllowPaging 
=   false ;
        gvWord.AllowSorting 
=   false ;
        Display();
        ToExcel(gvWord, 
" word.xls " );
        gvWord.AllowSorting 
=   true ;
        gvWord.AllowPaging 
=   true ;
        Display();
    }
复制代码

 

 

可是运行之后报错:

类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。

 

添加重写方法:

 

  public   override   void  VerifyRenderingInServerForm(Control control)
    {
        
// base.VerifyRenderingInServerForm(control);
    }

 

 

完成后效果如下:

 

这下可以让程序帮我整理了,省了一笔麻烦啊。






    本文转自 陈敬(Cathy) 博客园博客,原文链接:http://www.cnblogs.com/janes/archive/2011/01/05/1926161.html,如需转载请自行联系原作者




相关文章
|
8月前
com.alibaba.excel包教程:Excel数据导出加工进阶篇
com.alibaba.excel包教程:Excel数据导出加工进阶篇
568 0
|
3月前
|
Java 数据库连接 Apache
java实现查询某个表的数据导出excel
java实现查询某个表的数据导出excel
32 0
|
4月前
|
JSON 前端开发 JavaScript
javascript 实现纯前端将数据导出excel两种方式
<html> <head> <p style="font-size: 20px;color: red;">使用a标签方式将json导出csv文件</p> <button onclick='tableToExcel()'>导出</button> </head> <body> <script> const tableToExcel = () => { // 要导出的json数据 const jsonData = [ { name:'路人甲', ph
41 0
|
7月前
表格(table)数据导出成Excel
表格(table)数据导出成Excel
31 0
|
9月前
|
存储 数据处理 索引
将物模型数据导出到本地并保存为Excel文件
将物模型数据导出到本地并保存为Excel文件
197 3
|
9月前
|
Python
记录一次py中如何将excel中的数据导出到word中, 关键字导出
记录一次py中如何将excel中的数据导出到word中, 关键字导出
87 0
|
9月前
|
JSON 前端开发 JavaScript
vue:前端json数据 导出excel(Export2Excel)
vue:前端json数据 导出excel(Export2Excel)
122 0
|
弹性计算 Prometheus 监控
推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(二)
推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(二)
277 0
推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(二)
|
前端开发 Go API
go 数据导出Excel&前台接收后端返回文件流并在浏览器提供下载
go 数据导出Excel&前台接收后端返回文件流并在浏览器提供下载
706 0
go 数据导出Excel&前台接收后端返回文件流并在浏览器提供下载
|
Java 数据库连接 Apache
使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!
使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!
128 1
使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!