在VS2010 中写了一个EXCEL的导出功能的东西,但在Windows Server 2008 X64上发布后遇到个问题,EXCEL文件确实存在,但.net调用的EXCEL却不能打开这个EXCEL文件,代码执行到打开文件的时候报错,抛出异常如下:
Microsoft Office Excel 不能访问文件“XXXXX.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目录即可解决问题。
本文详细描述了在VS2010开发环境下,实现Excel导出功能后,在WindowsServer2008X64上部署时遇到的无法打开导出文件的问题及解决方案。问题表现为.NET调用Excel时无法访问已存在的文件,错误提示包括文件路径不存在、被其他程序使用等。通过在网络上的搜索,发现了解决方案,即在特定目录下创建Desktop文件夹,以解决Office自动化问题。
1903

被折叠的 条评论
为什么被折叠?



