ASP创建Excel.Application对象失败的解决方案

ASP新手入门
算是老问题了,ASP导出数据到Excel的程序,在本机测试一切OK,偏偏传到客户服务器上就问题多多。

通过远程连接客户的服务器,状况如下:

1. 服务器已安装Microsoft Excel;
    2. 服务器进程里没有Excel程序运行;
    3. 今天天气很热,但是跟这个没有关系^_^!!

在原来的OutExcel.class.asp程序里加入了一些检验代码,判断是否支持某个组件,如下

'判断系统是否支持strClassString组件 Function IsObjInstalled(strClassString) On Error Resume Next IsObjInstalled = False Err = 0 Dim xTestObj Set xTestObj = Server.CreateObject(strClassString) If Err = 0 Then IsObjInstalled = True Set xTestObj = Nothing Err = 0 End Function

   

 在set xlsApp = Server.CreateObject("Excel.Application")之前加入检验代码,如下


if IsObjInstalled("Excel.Application") = False then response.Write("<script>alert('创建Excel.Application失败!');history.back()</script>") response.End() end if
结果运行时确实弹出了“创建Excel.Application失败!”的错误信息,判断应该可能是Excel.Application权限的问题,具体我也不太清楚,上网查了一下,结果在蓝色找到一个ASP操作Excel技术总结的帖子,偷懒一下,直接把重要部分偷过来吧,嘿嘿。

服务器端环境配置还有两个偶然的发现是:
1.笔者开发机器上原来装有金山的WPS2002,结果Excel对象创建始终出现问题,卸载WPS2002后,错误消失。
2.笔者开发ASP代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel对象的创建很难成功。
服务器端还必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择MicrosoftExcel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器。
客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。

OK,问题解决。

相关内容推荐

ASP-条件语句

有时,当我们写代码时,我们要为作出不同的决定而执行不同的操作。我们可以使用条件语句中的代码来做到这一点。条件语句是一套用于执行基于不同条件的不同动作的命令。 为了支

ASP表单输入到HTML

ASP能写.html或者任何其他的直接到web服务器的文档文本(你需要写文本输出到写权限的目录)。这是能够不需要上传PC的文件用户输入即时的发布信息。 下面的例子有四个输入区域(标

编写第一个ASP程序

现在有很多关于ASP编程的教程。其中有些是对于你有帮助,有些完全没有用。甚至有些写得是误人子弟。无论如何,你读过一些关于ASP的内容,现在你已经准备好构建第一个应用程序。

周的天数

想在asp显示当前一周有多少天吗?这个代码会把握住今天的值和利用到案例选择显示一周的天数。 % date_value = date() %%= date_value %br% dayofweek=weekday(date_value) %day number in week %= dayofweek %br%

asp获取IP地址的函数

FunctionGetIp() DimDulIp,ProIP DulIp=Request.ServerVariables("HTTP_X_FORWARDED_FOR") ProIP=Request.ServerVariables("REMOTE_ADDR") IfDulIp=""Then GetIp=ProIP Else GetIp=DulIp EndIf EndFunction

返回
顶部