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