目的
网页上的数据导出有很多种导出方法,其中有的是真正格式的Excel,也有XML文档格式的Excel,还有table格式的。真正导出Excel格式的打开是没有任何问题,但是有的要求机器上需要安装Office Excel,借用Microsoft.Office.Interop.Excel,dll
。现在要说的是,用XML格式导出成Excel文件,打开的时候会出现如下提示,点击后打开没有问题。
一般的客户也接受这种提示,尽管有瑕疵,但是对于开发比较简单,不用考虑部署的服务器上是否安装excel,不用借用第三方控件。下面就说一下具体实现,两种方式。
具体实现
第一种,直接导出DataGrid中的数据:
代码:
public void DGToExcel(System.Web.UI.Control ctl)
调用就直接用即可:DGToExcel(this.DataGrid1);
第二种,导出XML格式的数据:
原理:
就是通过Excel另存为一个XML格式,然后将这个XML格式的文件拆分成head,content,bottom三个部分,咱们就是处理中间的content,将需要的数据遍历出来,放在content中,最后组合成一个Excel文档认的XML文件即可。
代码:
关键的部分来了,可以从DataGrid中遍历,也可以直接从数据源取数据进行遍历。
上面的列头可以添加成复合列头,做一下处理即可,如下图所示:
最后,导出:
好了,到此就可以导出。说白了就是把从Excel另存为XML格式的模板加到程序中来,如果避免这么做,可以将头尾XML部分做成单独的文件,程序中将这头尾XML文件读取到串中导出也可。
其它的导出可以参考网上的两篇总结,都挺好,贴出网址:
zhaoyu_1979
Perky Su