【求解】一个困扰我很久的excel问题
vb.net吧
全部回复
仅看楼主
level 7
侍影香寒 楼主
我开发的程序,引用了excel的com组件,我的excel是excel 2013。
然后我把程序做好发给别人。
别人的office不一定是2013,或许是excel 2010 2007之类
这样程序就无法运行。
怎样才能让我做的程序在各个版本(2007 2003 2010 2013)的excel上都能运行?
2016年04月01日 14点04分 1
level 11
后期绑定,应该是这个名词吧!
就是啥都不用引用,然后定义为abject,再然后用createobject的方式创建Excel对象。
这个时候,就会用系统已经安装的Excel版本,
2016年04月01日 16点04分 2
但是这样运行效率不好,还没有类型检查,也没有自动补全功能[不高兴]
2016年04月01日 16点04分
可以先引用,做好之后再去掉
2016年04月01日 16点04分
@闪星2 是可以但是性能可能不好[不高兴]
2016年04月01日 16点04分
@侍影香寒 差不了吧[黑线]
2016年04月01日 16点04分
level 7
侍影香寒 楼主
嵌入的互操作类型可以但是,这是framework4.0以后的功能。很多win7默认是3.5版的.net。每次发一个几百kb的程序给别人,却要求别人装个几十兆的运行库,被人嫌弃了。
2016年04月01日 16点04分 3
改项目运行库撒,我一般做项目之前都是问清楚顾客在啥系统使用,电脑装的是哪个版本的运行库[吐舌]
2016年04月01日 16点04分
@闪星2 3.5版本的没这个功能,4.0之后才有。但是客户用的是默认win7自带3.5。
2016年04月01日 16点04分
@侍影香寒 应该有别的方法代替的,实在不行就恐吓顾客,不装用不了[怒]
2016年04月01日 16点04分
level 8
[滑稽][滑稽][滑稽]
2016年04月01日 22点04分 4
level 8
[勉强][勉强][勉强]
2016年04月01日 22点04分 5
level 7
侍影香寒 楼主
http://msdn.microsoft.com/ZH-CN/library/ee317478(v=VS.110,d=hv.2).aspx
这个解决方法不适用于Framework 3.5
2016年04月02日 02点04分 6
level 9
1楼正解,使用后期绑定就可以了。
2016年04月02日 10点04分 7
使用creatobject,无视office版本的。
2016年04月02日 10点04分
level 9
考虑打个包什么的吧…我以前做的一个读取excel的程序 。目标机上没office,打包都带上就好用了。不过我那时候的问题是我开发环境win10+vs co¥(#¥@%@%#忘记名字了,反正不要钱但是版本貌似很高的vs,目标机是win10还要上网下载一堆.net运行环境才能用。。。。也是蛋疼。
——来自 诺基亚 Lumia 928
2016年04月22日 11点04分 9
1