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
那就可以啦.你自己解决的不错

要是服务器上没有装着excel 可以用c#导出excel表吗
服务器上没有装着office excel是可以导出的,但是不是真正意义上的excel,有点类似文本加表格的形式,相当粗糙。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起

服务器不装excel,如何导出EXCEL
你可以去研究下NPOI,这是一个不用安装EXCEL也能进行EXCEL操作的软件,但是你C#中得实现他的一些功能才能实现没有安装office进行EXCEL导出操作。

c#读取excel 未安装office可以吗
可以。不过需要相关的dll。

。NET中将数据生成EXCEL报表必须安装微软的OFFICE嘛?WPS不行嘛?
我的有程序有一个功能:就是将查询出来的若干条记录生成一个EXCEL报表!我的电脑里只装了WPSOFFICE,没装微软的OFFICE!是不是这个原因呢?是不是我装了微软的OFFICE就好了呢?... 我的有程序有一个功能:就是将查询出来的若干条记录生成一个EXCEL报表!我的电脑里只装了WPS OFFICE,没装微软的OFFICE!是不是这个原因...

不安装office的情况下如何实现对excel的导入导出
可以考虑将数据发送到服务端,从服务端生成excel文件,然后再传输会客户端。这样客户端就不需要安装任何office软件了,只要在服务端安装就可以了。

在做数据导出到excel时(c#),在本机上能导出表格,但是移到服务器上就没...
建议换用三方组件NPOI。你现在导出的Excel是调用系统安装的Excel的组件。倘若服务器上没有安装Excel或安装的Excel版本不对,都会导致导出失败。再者,你放到服务器上,导出Excel后需要解决杀进程的问题,因为每次导出Excel时候,都会启动一个Excel.exe进程,导出结束后该进程不能自动关闭,需要写代码杀掉它,...

vc不安装office能使用Excel.Application吗?
应该不行 Excel.Application其实是一个ProgID,是一个字符串,简单跟你说下它怎么从一个字符串引用到具体的对象吧 首先从注册表查找ProgID对应的CLSID,然后调用CoCreateInstance创建实例,这个创建实例内部其实是通过查找这个CLSID找到提供这个服务的DLL或EXE模块,并调用它的方法;一般要安装了EXCEL的系统上才会...

没有装office组件怎么导出Excel。我是想导出。然后下载到本地。求解 ...
用微软提供的组件吧,owc11,这个和Excle的导出百分之90代码可以通用,而且owc非常的小

如何在没有安装Excel的情况下,打开Excel?
1.下载MicrosoftOffice套件 Excel是MicrosoftOffice套件中的一个应用程序,所以我们可以下载和安装整个MicrosoftOffice套件,包括Excel在内。我们可以从Microsoft官方网站或其他可靠的下载网站上下载并安装MicrosoftOffice套件,但需要购买或注册许可证。2.使用其他办公软件 如果我们不希望购买或注册MicrosoftOffice套件,...

MFC读取excel 不安装Office不利用Office组件 可能实现吗
应该可以实现,我原来用过数据库实现,不过我机器上装有office,所以我不能确定没有office的机器一定能用,但是确实在编程的时候是不需要office的,我是写文件,所以我会用office去打开来看我的结果。网上可以找到代码,我现在手头也不方便给你找那段代码了。你自己搜索一下吧 ...

相似回答