上篇在开发模式下,顺利地完成了EXCEL上传并保存在数据库的功能,但是发布到IIS中却出现了错误。
根据这个错误提示,原来是调用EXCEL com组件没有权限。
网上找到的方法如下:
1.运行Dcomcnfg.exe
2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft Excel
3.点击属性
4.选择“安全性”
5.选定“使用自定义访问权限”和“使用自定义启动权限”
我看了半天,还是没有看到,原来是需要在32位模式下调整
如果具有32位Office的64位服务器,则可能无法找到此DCOM设置.需要从命令提示符运行"MMC -32"以启动32位MMC,然后从"文件">“添加/删除管理单元"菜单中添加"组件服务”.
设置完成再试试,果不其然,坑又来了,提示
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目录即可解决问题。
至此问题完美解决。