excel 用com调用转成nt service时候 能逼疯人的解决方案 Microsoft Office Excel 不能访问文件

在新的机器上测服务 卡在com组件那  服务又不好调试 最重要的是debug和release版本都没啥问题 安装服务之后老是卡着

代码块又多 只能打印日志判断哪出错了 然后在try catch 最后

 catch (COleDispatchException e)
 {
    e.m_strDescription;
 }

 

终于发现问题了 :

Microsoft Office Excel 不能访问文件“.xls”。 可能的原因有:

?文件名称或路径不存在。 
文件正被其他程序使用。 
您正要保存的工作簿与当前打开的工作簿同名

 

试遍了都不知道怎么解决 权限也改了 。。 等等 最后在网上找到了方法:

在C:\Windows\System32\config\systemprofile和C:\Windows\SysWOW64\config\systemprofile目录下创建名为Desktop目录即可解决问题。

这风马牛不相及的东西  真是坑啊   不知道是组件的问题还是excel的问题  反正加上就好了  找这个问题头都大了几圈

 

贴上网站:

http://www.cnblogs.com/ivan1003/archive/2011/08/01/2123921.html

 

在VS2008 中写了一个EXCEL的导出功能的东西,但在Windows Server 2008上发布后遇到个问题,EXCEL文件确实存在,但.net调用的EXCEL却不能打开这个EXCEL文件,代码执行到打开文件的时候报错,抛出异常如下:

Microsoft Office Excel 不能访问文件“a.xls”。 可能的原因有:

? 文件名称或路径不存在。
? 文件正被其他程序使用。
? 您正要保存的工作簿与当前打开的工作簿同名

 此代码在2003的服务器上运行的没有问题,在给工作目录加上了相应的权限后发现问题依旧。无奈,上网去转了一圈,找到了一个解决方法,以下是其中关键的部分:

This solution is ...

?Windows 2008 Server x64
  Please make this folder.

  C:\Windows\SysWOW64\config\systemprofile\Desktop

?Windows 2008 Server x86

  Please make this folder.

  C:\Windows\System32\config\systemprofile\Desktop

  ...instead of dcomcnfg.exe.

This operation took away office automation problems in my system.

A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel.

It disappears from Windows2008, Windows2003 had the folder,
and I think it cause this error.

 

即在C:\Windows\System32\config\systemprofile和C:\Windows\SysWOW64\config\systemprofile目录下创建名为Desktop目录即可解决问题。

 

你可能感兴趣的:(excel 用com调用转成nt service时候 能逼疯人的解决方案 Microsoft Office Excel 不能访问文件)