如何用ASP读取Excel文件

作者:网络 来源:佚名 更新时间:2008-07-24 17:12:22 点击:
在企业级应用当中,我们往往需要对execl进行操作,如读取execl里面的数据、往execl里插入数据等。
一、操作execl要注意的事项:
1、 服务器端office的配置
以ms windows2000+iis为例,要在服务器端安装有ms office的成员之一execl,office的版本没有特殊要求。
2、  服务器端分布式com的配置
执行“ dcomcnfg”命令,选择“应用程序”页的“microsoft execl 应用程序”—>“属性”—>“安全性”—>三个选项都选“使用自定义访问权限”,添加“everyone”权限。
二、首先,先将利用asp读取execl的数据(不建立dsn):
我们可以整个.xsl文件看作是一个数据库,sheet1、sheet2等分别看成一个独立的表,把a1、b1、c1、…n1看作表的字段。
--建立连接对象实例execlconn
set execlconn=server.createobject(“adodb.connection”)
--利用open 方法打开数据库
strconn="driver={microsoft excel driver (*.xls)};"&_
"driverid=790; dbq="& server.mappath("xls文件名")
conn.open strconn
--建立数据集对象rs并查询数据
set rs = server.createobject("adodb.recordset")
sql="select * from [sheet1$]"
rs.open sql,conn,2,2
具体例子:
1、建立一个表sheet1(数据库名为students)
   studentid
姓 名
      语 文
      数 学
      物 理
      化 学
      地 理
 
  1 
   李雪青
83
84
76
95
66
 
2
   冯江
87
96
82
100
81
 
3
   吴小霞
76
43
37
60
82
 
4
   邹亚汇
80
77
63
71
63
 
5
   蔡海飞
89
63
92
86
67
 
2、查询并显示表sheet1内容的代码
<%
dim conn
dim strconn
dim rs
dim sql
set conn=server.createobject("adodb.connection")
strconn="driver={microsoft excel driver (*.xls)};"&_
"driverid=790; dbq="& server.mappath("students.xls")
conn.open strconn
set rs = server.createobject("adodb.recordset")
sql="select * from [sheet1$]"
rs.open sql,conn,2,2
%>
<center>
<table border="1">
<tr>
<%
for i=0 to rs.fields.count-1
%>
  <td bgcolor="#0099ff"><%=rs(i).name%></td>
<%
next
%>
</tr>
<%
do while not rs.eof
%>
<tr>
<%
for i=0 to rs.fields.count-1
%>
  <td><%=rs(i)%></td>
<%
next
%>
</tr>
<%
  rs.movenext
  loop
  rs.close
  set rs=nothing
  strconn.close
  set strconn=nothing
%>
</table></center>