ASP.NET在数据表查看的同时,大部分用户希望能够把数据表信息能够导出为Excel并进行保存。
本文主要介绍几种导出Excel表格的方法以及在调试过程中,错误信息的调试方法。
一、导出Excel表方法
在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出execl时,等价于分列,n等价于换行。
有位网友写过:《C# 将数据导出到Excel汇总》 http://blog.csdn.net/bat800/archive/2007/07/17/1694537.aspx
内容已经比较详细了。本文对其进行一定的更正,大家可以直接拷贝代码进行测试。
在此简单的介绍一种方法,代码如下:
你可以按照DGToExcel(this.GridView1);进行操作即可。
但是上面的方法虽然实现了导出的功能,但同时把按钮、分页框等html中的所有输出信息导了进去。而我们一般要导出的是数据,DataGrid控件上的数据,而且如果你的DataGrid用了分页,它导出的是当前页的信息,也就是它导出的是DataGrid中显示的信息。而不是你select语句的全部信息。下面一个方法可以帮助大家解决这个问题:
你可以按照CreateExcel(ds, "ex.xls");进行操作。
二、错误信息调试
提示【GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内】
解决方法有:
(1) 确认你的GridView”的控件在Form里面,并且Form中runat="server"
(2) 在后台代码重写以下方法:
提示【只能在执行 Render() 的过程中调用 RegisterForEventValidation】
解决方法有:
(1) 修改web.config(不推荐)<pages enableEventValidation ="false" ></pages>
(2) 修改页面代码: