C#导出excel 不安装office excel情况下

现在找到的方法都是用COM的创建excel实例再保存上,需要电脑上已安装excel才能导出excel,我想要不用安装office的情况也可以导出,版本Excel2003的xls文件即可,不需要多版本支持,理论上按照xls组织结构保存就可以实现的,wps做到了,求指点
我要最好是不依赖excel 的导出excel代码,告诉我Excel2003文档的内部组织结构,或者告诉我到哪能找到具体资料也可以

Excel 2003的文件格式规范说明:http://msdn.microsoft.com/en-us/library/cc313154(office.12).aspx。这个规范实际上应该也同样适用于Excel 2003之前的各个版本。

不过楼主要注意的是,Excel 2003的文件格式是所谓的的“Binary File Format”——二进制文件格式。意思是说你如果要分析(或者创建)这个格式的文件,基本上就必须按照一个字节一个字节、一个数据结构一个数据结构这样的方式去解析或者构建了。微软并没有为这个格式提供什么特别的读写SDK,所以你只能硬着头皮去解读这个长达1196页的文档格式,去自己分析一个个数据结构。或许网上能找到一些号称可以解析或者生成Excel的库,但是多半要收费或者不好用,希望可能也不大。

从Excel 2007开始,文件格式变成了Open XML,基本上就是一个ZIP文件里面打包了一堆XML文件和相关的资源。这个格式的解析和生成相对来说就要容易得多。一方面,处理ZIP和XML的代码、免费库等比比皆是;另一方面,微软提供了很全面的Open XML SDK,可以很方便的解析和生成文档。

Excel 2007(以及Excel 2010)的文件格式规范说明:http://msdn.microsoft.com/en-us/library/dd922181(office.12).aspx。这个规范说明总共也就210页,而且如果你使用SDK的话,或许也并不需要去很详细地阅读这个规范了。

Open XML SDK下载:http://www.microsoft.com/downloads/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0

所以,如果可能的话,尽可能选用Excel 2007格式。这不仅是发展的趋势,更主要的是能大大节省开发成本,争取更多时间和人力去做其它更重要的事情。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-14
直接导入就行了啊,没那么复杂
第2个回答  2010-07-03
Excel.exe是可以独立运行的程序,直接引入你的工程就可以了。
这样无论你机器上是否安装Excel,那么你工程引入的Excel.exe就直接作为库引出。
第3个回答  2010-07-03
你自己解决的不错
第4个回答  2010-07-03
那就可以啦.你自己解决的不错
相似回答