在企业级应用当中,我们往往需要对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>