# VFPBS在IIS下调用EXCEL遇到的Access is denied

上篇在开发模式下,顺利地完成了EXCEL上传并保存在数据库的功能,但是发布到IIS中却出现了错误。

根据这个错误提示,原来是调用EXCEL com组件没有权限。

网上找到的方法如下: 1.运行Dcomcnfg.exe 2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft Excel 3.点击属性 4.选择“安全性” 5.选定“使用自定义访问权限”和“使用自定义启动权限”

我看了半天,还是没有看到,原来是需要在32位模式下调整

如果具有32位Office的64位服务器,则可能无法找到此DCOM设置.需要从命令提示符运行"MMC -32"以启动32位MMC,然后从"文件">"添加/删除管理单元"菜单中添加"组件服务".

  1. 添加32位组件服务
  2. 找到microsoft EXCEL Application
  3. 设置访问和启动权限

设置完成再试试,果不其然,坑又来了,提示

Microsoft Office Excel 不能访问文件“a.xls”。 可能的原因有: ? 文件名称或路径不存在。 ? 文件正被其他程序使用。 ? 您正要保存的工作簿与当前打开的工作簿同名

我看了半天,路径是对的,这些提示没一个符合的。继续排查。 终于找到 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.

win2008,win2003会出现这个问题。 即在C:\Windows\System32\config\systemprofile和C:\Windows\SysWOW64\config\systemprofile目录下创建名为Desktop目录即可解决问题。

记得给IUSER用户设置可读写权限。 至此问题完美解决。