首页 > 数据库 > 数据库开发技术 > 用ADO对Excel的数据查询 (转)
Execl97/2000/xp是MS Office办公软件的成员之一。在企业级应用当中,我们往往需要对Execl进行操作,如读取Execl里面的数据、往Execl里插入数据等。
一、操作Execl要注意的事项:
以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")
rs.Open Sql,conn,2,2
具体例子:
1、建立一个表Sheet1(数据库名为Students)
StudentIDXML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
姓 名
语 文
数 学
物 理
化 学
地 理
李雪青
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
%>
| <%=rs(i).Name%> |
| <%=rs(i)%> |
3、运行结果
.NET/Develop/ArticleImages/18/18502/CSDN_Dev_Image_2003-5-191511170.bmp" align=baseline border=0>
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-957529/ ,如需转载,请注明出处,否则将追究法律责任。