当前位置:编程学习 > C#/ASP.NET >>

C# EXCEL问题 大神速进

C# 中将listview的数据导入excel,然后将excel中的数据打印出来
我现在的做法是将excel的com组件引用过来,然后直接调用excel的打印方法,
(1)结果发现一个问题,我用的是2007的版本,但客户机上装的2003或者根本没有装excel
打印时报错,在网上搜,说直接引用2003的com就可以兼容07和10,但是没装office的机子不行
于是卸载了2007,安装了2003,但是安装2003后发现,引用com时,有11.0的版本,但是引用.net 中的Interop.excel.dll时发现只有12.0和14.0的,没有11.0的版本
然后我用vs2010自带的tools生成了一个dll,结果生成的dll文件只适合用.netframework 4.0 的,而程序是用.2.0的来写的,不能用怎么办

(2)还有如果用com引用,没装office的机子怎么办
然后网上又搜了下,说可以用动态引用程序集的方法将现有的07版的interop.excel.dll直接带入程序,这样不管装没装office的机子就都可以打印了,之前没做过这个,有没有大神能贴一段例子代码,我学习下

跪求啊,谢了 excel c# .net office vs2010 --------------------编程问答-------------------- 说可以用动态引用程序集的方法将现有的07版的interop.excel.dll直接带入程序,这样不管装没装office的机子就都可以打印了

胡说,别信。 --------------------编程问答-------------------- 依赖于微软的Interop.excel.dll这个控件很麻烦的,服务又要安装office,又可能存在版本兼容性问题,我们公司导入导出Excel都不用到这个Interop.excel.dll,而是用

using GemBox.Spreadsheet; --------------------编程问答-------------------- 也可以用NPOI --------------------编程问答-------------------- 对于这种情况,还是用NPOI吧,不过对于大量数据来说,有BUG。。。 --------------------编程问答-------------------- NOPI


还有种方法,用流导出excel,生成html格式直接用文件流导出
http://hi.baidu.com/ytmywyh_2008/item/550669596e42f63833e0a9ab --------------------编程问答-------------------- 看起来Excel蛮麻烦的,但是总是要用到。 --------------------编程问答-------------------- 必须让他装Office,要不然就算能导出来,他也不能用 --------------------编程问答-------------------- 很难相信还有哪台电脑不装office就办公的。 --------------------编程问答-------------------- 没有装excel的机器怎么可能打印excel,打印机从哪里得到需要打印的graphics?

标准做法是自己处理print。 --------------------编程问答--------------------
引用 楼主 qingyu2161 的回复:
C# 中将listview的数据导入excel,然后将excel中的数据打印出来
我现在的做法是将excel的com组件引用过来,然后直接调用excel的打印方法,
(1)结果发现一个问题,我用的是2007的版本,但客户机上装的2003或者根本没有装excel
打印时报错,在网上搜,说直接引用2003的com就可以兼容07和10,但是没装office的机子不行
于是卸载了2007,安装了2003,但是安装2003后发现,引用com时,有11.0的版本,但是引用.net 中的Interop.excel.dll时发现只有12.0和14.0的,没有11.0的版本
然后我用vs2010自带的tools生成了一个dll,结果生成的dll文件只适合用.netframework 4.0 的,而程序是用.2.0的来写的,不能用怎么办

(2)还有如果用com引用,没装office的机子怎么办
然后网上又搜了下,说可以用动态引用程序集的方法将现有的07版的interop.excel.dll直接带入程序,这样不管装没装office的机子就都可以打印了,之前没做过这个,有没有大神能贴一段例子代码,我学习下

跪求啊,谢了


上次好像也有人问这个问题。既然你用的是.net那么直接使用Open Xml SDK好了,如果嫌这个麻烦,使用CloseXML会方便些。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,