症状:
项目在Windows Server 2008上发布后遇到个问题,项目目录中Excel文件确实存在,但.net调用的Excel却不能打开文件,代码执行到打开文件的时候报错,抛出异常如下:
文件名称或路径不存在。
文件正被其他程序使用。
您正要保存的工作簿与当前打开的工作簿同名
此代码在2003的服务器上运行的没有问题,在给工作目录加上了相应的权限后发现问题依旧。
解决办法:
即在C:\Windows\System32\config\systemprofile和C:\Windows\SysWOW64\config\systemprofile目录下创建名为Desktop目录即可解决问题。
如果还不行尝试考虑权限问题,一般解决思路:
1. 通过webconfig中增加模拟,加入管理员权限,
<identity impersonate="true" userName="系统管理员" password="系统管理员密码"/>
2.
1) 开始--〉运行--〉cmd
2) 命令提示符下面,输入mmc -32,打开32的控制台
3) 文件菜单中,添加删除管理单元--〉组件服务
4) 在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5) 点击"标识"标签,选择"交互式用户"
6) 点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
7) 依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
8)iisreset