注册 登录
编程论坛 ASP技术论坛

ASP直接调用EXCEL数据的例子 有问题!

renxiaoyi 发布于 2011-05-09 10:55, 785 次点击
代码:<%
Set xlApp = server.CreateObject("Excel.Application")

strsource = "D:\info.sinobal\test\ss.xls"

Set xlbook = xlApp.Workbooks.Open(strsource)
Set xlsheet = xlbook.Worksheets(1)

i=1
response.write "<table cellpadding=0 cellspacing=0 border=1 width=500>"
while xlsheet.cells(i,1)<>""

response.write "<tr>"
response.write " <td height=20 align=center width=100>" & xlsheet.Cells(i, 1) & "</td>"
response.write " <td height=20 align=center width=200>" & xlsheet.Cells(i, 2) & "</td>"
response.write " <td height=20 align=center width=200>" & xlsheet.Cells(i, 3) & "</td>"
response.write "</tr>"
i=i+1

wend
response.write "</table>"
set xlsheet=nothing
set xlbook=nothing
xlApp.quit
%>
出错了:
Server 对象 错误 'ASP 0178 : 80070005'

Server.CreateObject 访问错误

/untitled.asp,行 11

检查权限时,对 Server.CreateObject 的调用失败。拒绝对此对象的访问
怎么回事呢?
8 回复
#2
yms1232011-05-09 11:43
权限设置问题,IIS的匿名账户要设置为Administrator
#3
renxiaoyi2011-05-09 15:18
回复 2楼 yms123
我在本地直接浏览的,不是在iis上面。
#4
hams2011-05-10 08:00
第一次听说ASP可以在本地浏览
#5
dzt00012011-05-10 08:54
我以前也碰到过Excel.Application权限失败,没能解决,最后是换连接方式的。
#6
yms1232011-05-10 09:19
以下是引用renxiaoyi在2011-5-9 15:18:24的发言:

我在本地直接浏览的,不是在iis上面。
就是单机设置Excel也是要权限的
#7
renxiaoyi2011-05-10 09:44
回复 4楼 hams
直接在dm里浏览的。
#8
renxiaoyi2011-05-10 09:45
我加了everyone的权限 不行。
#9
liang1982072011-05-10 20:06
<%
sub conn_xls(connxls,dbpath)
 Set connxls=Server.CreateObject("ADODB.Connection")
 StrConn="Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='excel 8.0;hdr=yes';Data Source="&Server.MapPath(dbpath)
 connxls.Open StrConn
end sub
%>
<html>
<body>
<table >
<%
dim sql,rs,row
call conn_xls(connxls,"ss.xls")
Sql="Select * From [Sheet1$]"
set rs=connxls.execute(sql)
rs.movefirst
Do While Not rs.EOF
  row="<TR>"
  for i=0 to rs.fields.count-1
     row=row & "<td>" & rs(i) & "</td>"
     next
      response.Write row & "</tr>"
  rs.MoveNext
  Loop
  rs.Close

  Set rs=nothing
  connxls.Close
  Set connxls=Nothing
  

%>
</table>
</body>
</html>
你用这种链接方式试试,我简单测试了一下可以,要是这种方式不对那就是权限问题了。
1