如何兼容不同版本EXCEL.DLL?

szgushen 2003-09-03 04:39:02
在C#中引入excel.dll,实现对EXCEL表的操作。但是,不同版本的
excel.dll,其excel.application.workbooks.open(...)函数
不同:在1.3版本中只有13个参数,但在1.4版本中,却在最后多了2
个参数,因此在不同版本的机器上编译都无法通过。

各位有好的解决办法吗?
...全文
328 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinxj 2003-09-10
  • 打赏
  • 举报
回复
我使用excel2000的动态链接库,系统安装office xp仍然可以正常运行。
erictang2003 2003-09-09
  • 打赏
  • 举报
回复
我的也是,OFFICE2000 做的OFFICE97 不能用.
xjliang007 2003-09-08
  • 打赏
  • 举报
回复
gz一下
wushengshan 2003-09-08
  • 打赏
  • 举报
回复
唉!微软这破东西。。。。有时真叫人。。。。。。。。。。。。。
CMIC 2003-09-08
  • 打赏
  • 举报
回复
dll hell
以前我遇到这种情况一般都是分别做两个安装程序,对应不同版本.
szgushen 2003-09-08
  • 打赏
  • 举报
回复
真的就没招了? :((
leonpard 2003-09-06
  • 打赏
  • 举报
回复
关注。ms做的真是一个“烂”啊。害的我搞好的程序到客户那里运行不成,因为我在office2000下编译的,人家装的是 officeXP
szgushen 2003-09-04
  • 打赏
  • 举报
回复
sorry, 是OFFICE 2000和OFFICE XP。
szgushen 2003-09-04
  • 打赏
  • 举报
回复
问题是,我面对的客户端有WIN2K,也有WIN XP。条件编译不能解决这个问题。
zhbname 2003-09-03
  • 打赏
  • 举报
回复
up
chainet 2003-09-03
  • 打赏
  • 举报
回复
通过注册表来判断是office 2000还是XP.
Registry.ClassesRoot.OpenSubKey ("Word.Sheet.8\\shell\\new\\command");
然后用条件编译.
softbugg 2003-09-03
  • 打赏
  • 举报
回复
好像没有办法,微软的例子用的是条件编译。
chainet 2003-09-03
  • 打赏
  • 举报
回复
先取注册表里的有关Excel的安装信息.
在Registry.ClassesRoot.OpenSubKey ("Excel.Sheet.8\\shell\\new\\command")
判断如果值(字符串,就是Excel的启动目录)中含有"Office 10"就是office XP版,
"office 9" 就是office 2000.
然后根据不同的版本来调用不同的方法.

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧