<%Set xlApplication = Server.CreateObject("Excel.Application") '调用excel对象%>
一般没有经过设置的IIS服务器在执行这一句时都会出现错误,返回的错误信息如下:
错误类型:
Server 对象, ASP 0178 (0x80070005)
检查权限时,对 Server.CreateObject 的调用失败。拒绝对此对象的访问。
英文版的错误信息如下:
Error Type:
Server object, ASP 0178 (0x80070005)
The call to Server.CreateObject failed while checking permissions. Access is denied to this object.
这是IIS中没有注册使用MS Excel的组件,所有在调用时会出错。
解决办法如下:
开始->运行->dcomcnfg (打开组件服务)
在DCOM配置中找到"Microsoft Excel 应用程序"(这个名称取决于你调用的Object是什么),
然后右键->属性->安全 在“启动和激活权限”框中点击“编辑”把三个权限都给everyone(window 2000系统) 即可。其实第一个Launch & activate就行了。
因为我用的是XP系统,找不到Everyone,所以我添加了IIS默设用户:IUSER/your user,即 如果找不到该用户可点击“添加”->“高级”,用“立即查找”找到相应的用户。在XP中是在权限选择框中把“本地启动”和“本地激活”允许权限打√。