在网上搜索到几种方法,经测试整理得出二种比较简单而且可行方法,
第一种:使用JAVASCRIPT,不用重新从 Database 获得数据.直接把网页上面的表格保存下来.
<table id = "export">
<tr><td>A</td></tr>
<tr><td>B</td></tr>
</table>
<input type=button name="out_excel" value="Convert To Excel" onclick="AutomateExcel('export');">
在整个过程中调用Excel.Application,需要降低IE的安全级别.是我觉得很不好的一点,有人说把网站加到信任站点,不过我没试.
在使用这种方法中,如果是一个简单正常的规范表格,保存下来的文件会正常,但是比较复杂的表格就可能导错数据.或行列数错.
也可能需要去改进JAVASCRIPT来调整整个表格,不过我觉得太麻烦.
第二种 使用 ms-excel ,需重新从 Database 获得数据,而且最好是表格单独一个页面.
建立一个Button,建立一个新页面,点击Button开新页面的IE窗口.这个窗口内容就是你要导出的表格
在新的页面代码中加入:
<%Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>") %>
<%response.ContentType="application/vnd.ms-excel"%>
第一行是防止中文会乱码.
第二行是保存为Excel.
这种方法我个人比较喜欢,因为当你点击打开新的IE窗口时,它不会显示出一样的表格出来,而是直接询问你是要打开还是保存.
就好像我们下载文件一样,然后直接询问我们要打开还是保存.
但在调试的过程中,刚开始会捕捉到一些不是你想要的东西出来,可能本地防火墙设置有问题.(请设置防火墙)
当然还有各种方法,以上二种是我觉得比较简单的方法,放在这里供大家分享跟讨论.GOOD LUCK!