Tomcat作为服务运行时,JACOB调用Excel失败解决方案 – – ITeye博客
问题表现:
1,当将Tomcat以命令行的方式运行时,JACOB可以正常调用Excel。
2,当将Tomcat以Windows服务的方式启动时,会导致调用不成功,表现就是程序卡在调用那一步。
3,如果仔细查看Tomcat日志会发现以下错误:
com.jacob.com.ComFailException: Invoke of: OpenSource: Microsoft Office Excel Description: Microsoft Office Excel
• 文件名称或路径不存在。
• 文件正被其他程序使用。
• 您正要保存的工作簿与当前打开的工作簿同名。
如果你遇到了以上问题,恭喜你又被微软的垃^圾软件给坑了。
解决方案:
1,如果是windows 2008 操作系统
请参考这2篇文章:
如果打不开,请自行翻^^墙.或直接看下边介绍:
如果你是64位操作系统
请在C:\Windows\SysWOW64\config\systemprofile\目录下新建一个Desktop的文件夹
如果是32位操作系统
请在C:\Windows\System32\config\systemprofile\目录下新建一个Desktop的文件夹
2,如果你经过以上步骤还是不行,握个手吧,我试了之后也还是不行,请继续往下看
3,请参考这2篇文章:
如果打不开,请自行翻^^墙.或直接看下边介绍:
4,首先打开任务管理器,结束Excel.exe*32的进程,
5,停止你的tomcat服务,
6,运行”dcomcnfg”
7,在新打开的窗口里,依次展开:“控制台根节点”–>“组件服务”–>”计算机”–>“我的电脑”–>”DCOM配置”,
8,在里面找到一个名为”Microsoft Excel Application”的节点
9,右键单击该节点,选属性 ,切换到标识选项卡
改为“交互式用户”,最后点击确定完成
如果在第8步里,你没有找到”Microsoft Excel Application”的节点,恭喜你,又被微软这个垃圾公司给坑了,据说是微软忘了在windows2008 64位的dcom配置里加入32位程序,诅****咒微软1000000遍。
请参考:
不想看的直接看下面介绍:
10,关闭刚才打开的dcom配置的窗口
11,在命令行模式下,切换到
C:\WINDOWS\SysWOW64这个目录
11,输入 mmc comexp.msc /32 这个命令
12,此时会再次弹出刚才的那个dcom窗口,重复7~9的步骤
最后再次以服务的方式启动Tomcat,运行你的程序再行测试,应该就可以了。
from:http://wowtianwen.iteye.com/blog/1952913