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

这两天很多用户电脑调用EXCEL错误,有谁遇到过?

程序里边创建EXCEL对象      
_Application excelapp excelapp = new Microsoft.Office.Interop.Excel.ApplicationClass();
后面操作EXCEL表格之类的操作,原来一直好好的,最近这几天会有这个错误

出现问题电脑系统为 XP 安装 OFFICE2003 NET2.0 
把OFFICE卸载重新安装还是不行,使用OFFICE卸载工具也不行,把NET全部卸载再装也不行
但好像跟WPS有关,但我自己用虚拟机测试又没问题,好像跟NET的升级或其他补丁有关,总之现在电脑轮着出现问题,最好只能重装系统,禁止漏洞修复,相当麻烦.

请大家帮想办法,这两天真是忙死了.. --------------------编程问答-------------------- 我今天也遇到这个问题了,正准备冲撞office,难道真的是系统更新的问题? --------------------编程问答-------------------- 你引用的操作office的dll是OFFICE2003版本的吗 --------------------编程问答--------------------
引用 2 楼 bdmh 的回复:
你引用的操作office的dll是OFFICE2003版本的吗


DLL放在程序目录下,VS2010下面有两个版本我都试过了,现在大多数电脑还是正常的,现在共同的特点是都装有WPS,我最怀疑是这个造成的冲突,其次是360的问题,但把他们都卸载了也不行..相信这个是普遍现象,会有不少人遇到.. --------------------编程问答--------------------
引用 3 楼 lf44785170 的回复:
Quote: 引用 2 楼 bdmh 的回复:

你引用的操作office的dll是OFFICE2003版本的吗


DLL放在程序目录下,VS2010下面有两个版本我都试过了,现在大多数电脑还是正常的,现在共同的特点是都装有WPS,我最怀疑是这个造成的冲突,其次是360的问题,但把他们都卸载了也不行..相信这个是普遍现象,会有不少人遇到..

如果是普遍问题,那你google下,可能有方法解决 --------------------编程问答--------------------
引用 3 楼 lf44785170 的回复:
Quote: 引用 2 楼 bdmh 的回复:

你引用的操作office的dll是OFFICE2003版本的吗


DLL放在程序目录下,VS2010下面有两个版本我都试过了,现在大多数电脑还是正常的,现在共同的特点是都装有WPS,我最怀疑是这个造成的冲突,其次是360的问题,但把他们都卸载了也不行..相信这个是普遍现象,会有不少人遇到..


有道理 --------------------编程问答-------------------- 安装了WPS或者360,不算是什么升级问题。

又不是人家微软自家的问题。显然是竞争对手搞得。 --------------------编程问答-------------------- 估计是版本不兼容,你看下你的测试环境与用户的环境是否一样?

现在32位和64位的,好多软件存在兼容性差 --------------------编程问答-------------------- 今天又有电脑出现一样的现象,同样也装有WPS,但没有装360,无法修复.... --------------------编程问答-------------------- 重装office是王道,另外wps要卸掉。wps会自己升级,无论你怎么设置都会。会自己修改com注册,让你的office注册失效。 --------------------编程问答-------------------- 今天特地按照重装office->卸载wps->修复office(重新注册),中间每一步都重启了一下电脑,结果还是不行,报错。后来干脆用了第三方组件NPOI,导出excel没有问题。 --------------------编程问答--------------------
引用 10 楼 guwei4037 的回复:
今天特地按照重装office->卸载wps->修复office(重新注册),中间每一步都重启了一下电脑,结果还是不行,报错。后来干脆用了第三方组件NPOI,导出excel没有问题。

查了一下npoi,这个确实不错,可是哪可能马上改代码呢,目前只能重装系统来解决这个问题,有一台电脑我在注册表里边把Application相当的全部删除,第二天莫名就可以用了,但这样太危险,重装其实挺快,只是要到现场安装,麻烦些,关键是问题不找出原因,就是让人睡不好觉,理论上说,修改注册表应该可以,但是试了很多都不行,继续受折磨中.. --------------------编程问答-------------------- 我导出excel是提炼出的一个方法,override这个方法就可以用了。只用了15分钟完成了NPOI的重写。先让客户的业务运行起来,有空再查原因。而且用了NPOI之后感觉比excel com组件似乎更快了一点。 --------------------编程问答--------------------
引用 9 楼 yuwenge 的回复:
重装office是王道,另外wps要卸掉。wps会自己升级,无论你怎么设置都会。会自己修改com注册,让你的office注册失效。

这个早试过了,2003 2007都试过,WPS也早早卸载,就是不行 --------------------编程问答--------------------
引用 12 楼 guwei4037 的回复:
我导出excel是提炼出的一个方法,override这个方法就可以用了。只用了15分钟完成了NPOI的重写。先让客户的业务运行起来,有空再查原因。而且用了NPOI之后感觉比excel com组件似乎更快了一点。


我这个比较特别,我通过打开EXCEL,把单据写入,动态调整打印格式,包括页面设置,分页,使用宏插入行等等,还要靠EXCEL打印单据,暂时还无法用别的来替换,没办法... --------------------编程问答-------------------- 刚刚测试了一下,在我的机器上面用excel com组件导出没有报错(一模一样的代码),我的机器没装360杀毒和WPS(系统更新一直用360安全卫士更新),而“出事”的机器上面装了WPS抢鲜版和360杀毒软件。 --------------------编程问答-------------------- 可能是对手恶意修改注册表信息 --------------------编程问答-------------------- 我自己开虚拟机安装了WPS 360 也自动打补丁都没有出现问题,我还想它出问题好找原因,但一直正常,郁闷中. --------------------编程问答--------------------
引用 15 楼 guwei4037 的回复:
刚刚测试了一下,在我的机器上面用excel com组件导出没有报错(一模一样的代码),我的机器没装360杀毒和WPS(系统更新一直用360安全卫士更新),而“出事”的机器上面装了WPS抢鲜版和360杀毒软件。


有个用户前两天没解决的,今天他说下载了WPS重装装上,就可以导出EXCEL了,让我有点意外,我还真没试过重装它,就是一开始卸载了WPS,看来真是WPS的问题,我特意问了一下版是最新的
WPS Office抢鲜版 (9.1.0.4369)
下次哪个不得可以试试. --------------------编程问答--------------------
引用 18 楼 lf44785170 的回复:
Quote: 引用 15 楼 guwei4037 的回复:

刚刚测试了一下,在我的机器上面用excel com组件导出没有报错(一模一样的代码),我的机器没装360杀毒和WPS(系统更新一直用360安全卫士更新),而“出事”的机器上面装了WPS抢鲜版和360杀毒软件。


有个用户前两天没解决的,今天他说下载了WPS重装装上,就可以导出EXCEL了,让我有点意外,我还真没试过重装它,就是一开始卸载了WPS,看来真是WPS的问题,我特意问了一下版是最新的
WPS Office抢鲜版 (9.1.0.4369)
下次哪个不得可以试试.


我觉得应该是最新版WPS的问题,我用户有问题的那台机器,看到了装了WPS最新的抢鲜版才出现这个问题。而之前也装了WPS和360杀毒等,都可以正常用。可以锁定是WPS抢鲜版的问题。 --------------------编程问答-------------------- 这样好像是可以。 --------------------编程问答-------------------- 现在还是经常有这问题,依然没好的办法,郁闷中..重装系统才行.
--------------------编程问答-------------------- 我也是安装了WPS.4180.19.552 抢先版出的问题,尝试过把office2003删除了, 重新安装都是不行。后来把wps删除了,不行。 再安装wps,就成功导出excel了。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,