最近在做一个项目,项目要求把前台报表导出成Excel,并且保留前台报表的样式。
网上的几种解决方案:
1:使用Excel Api 在服务器端生成Excel,通过网络传输给前台Web页面。
于是尝试着在MSDN上找资料,通过worksheet之类的东西总算在VS下成功运行了。
于是尝试在IIS下运行,结果失败,想想看,VS下使用的是系统帐户,iis默认的帐户权限不足,当然了,可以在web.config文件中修改。
2:生成类似
这样的代码,Excel就认识了?。
问题来了“Excel怎么认识这种东西?”
打开任一一个Excel,选择另存为,其他格式,发现唯一能形成这种代码的只有一种格式:“xml电子表格2003”
思考,是不是其他的Office,比如Word,powerpoint都可以这样呢?
发现绝大部分都有"电子表格2003"这种格式,估计微软专门提供了这种功能。
尝试编辑Excel,并设置样式,你可以发现。xml中的内容会发生相应的更改。
网上的几种解决方案:
1:使用Excel Api 在服务器端生成Excel,通过网络传输给前台Web页面。
于是尝试着在MSDN上找资料,通过worksheet之类的东西总算在VS下成功运行了。
于是尝试在IIS下运行,结果失败,想想看,VS下使用的是系统帐户,iis默认的帐户权限不足,当然了,可以在web.config文件中修改。
2:生成类似
1
<?
xml version
=
"
1.0
"
?>
2 <? mso - application progid = " Excel.Sheet " ?>
3 < Workbook xmlns = " urn:schemas-microsoft-com:office:spreadsheet "
4 xmlns:o = " urn:schemas-microsoft-com:office:office "
5 xmlns:x = " urn:schemas-microsoft-com:office:excel "
6 xmlns:ss = " urn:schemas-microsoft-com:office:spreadsheet "
7 xmlns:html = " http://www.w3.org/TR/REC-html40 " >
8 < DocumentProperties xmlns = " urn:schemas-microsoft-com:office:office " >
2 <? mso - application progid = " Excel.Sheet " ?>
3 < Workbook xmlns = " urn:schemas-microsoft-com:office:spreadsheet "
4 xmlns:o = " urn:schemas-microsoft-com:office:office "
5 xmlns:x = " urn:schemas-microsoft-com:office:excel "
6 xmlns:ss = " urn:schemas-microsoft-com:office:spreadsheet "
7 xmlns:html = " http://www.w3.org/TR/REC-html40 " >
8 < DocumentProperties xmlns = " urn:schemas-microsoft-com:office:office " >
这样的代码,Excel就认识了?。
问题来了“Excel怎么认识这种东西?”
打开任一一个Excel,选择另存为,其他格式,发现唯一能形成这种代码的只有一种格式:“xml电子表格2003”
思考,是不是其他的Office,比如Word,powerpoint都可以这样呢?
发现绝大部分都有"电子表格2003"这种格式,估计微软专门提供了这种功能。
尝试编辑Excel,并设置样式,你可以发现。xml中的内容会发生相应的更改。
本文转自LoveJenny博客园博客,原文链接:http://www.cnblogs.com/LoveJenny/archive/2009/08/27/1555343.html,如需转载请自行联系原作者