日期:2014-05-17  浏览次数:20765 次

在ASP中使用Excel组件读取Excel失败的问题,求助!
set   objExcelApp=CreateObject( "Excel.Application ")  
objExcelApp.DisplayAlerts=false  
objExcelApp.Application.Visible=false
objExcelApp.WorkBooks.Open(Server.MapPath( "test.xls "))  
状况是这样的:
1、 objExcelApp.WorkBooks.Open(Server.MapPath( "test.xls "))卡死,不出错,在server上会新开一个Excel进程,一直挂着。
2、 在我自己电脑上测试都没有这个问题,在user电脑上就如此。所以怀疑是权限问题,我添加了一个人的系统管理员权限,他也就OK了!可总不能给每个人开管理员权限。(我已经在“运行”中输入“DCOMCNFG”,打开“分布式COM设定属性”/“Microsoft   Excel应用程序内容”/“安全性”的三个权限都添加了everyone的权限),这样设置应该是只对CreateObject( "Excel.Application ")有用吧),那还有权限要开?

我想要达到的目的是:通过用cell(1,1)的方式读取excel内容,而不像用oledb的方式必须要求excel第一行为字段名(还有必须要有以sheet1命名的工作簿)。

.Net中能解决这个问题吗,还是有其它方法


------解决方案--------------------
新开excel进程是肯定的

dcomcnfg中还有个交互用户要配置一下

另外应该用server.createobject不该用createobject

还有用完了以后要quit和nothing否则excel进程还在
------解决方案--------------------
.net里比vbs里好处要多

至少稳定性强很多.脚本用vba有很多rpwt的