** ASP 对 Excel 的基本操作之查询数据 **
Execl97/2000/xp 是 MS Office 办公软件的成员之一。在企业级应用当中,我们往往需要对 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 内容的代码
1
2
3Dim conn
4
5Dim StrConn
6
7Dim rs
8
9Dim Sql
10
11Set conn=Server.CreateObject("ADODB.Connection")
12
13StrConn="Driver={Microsoft Excel Driver (*.xls)};"&_
14
15"DriverId=790; DBQ="& Server.MapPath("Students.xls")
16
17conn.Open StrConn
18
19Set rs = Server.CreateObject("ADODB.Recordset")
20
21Sql="select * from [Sheet1$]"
22
23rs.Open Sql,conn,2,2
1<center>
2<table border="1">
3<tr>
for i=0 to rs.Fields.Count-1
1
2<td bgcolor="#0099FF">```
3=rs(i).Name
4```</td>
next
1
2</tr>
do while Not rs.EOF
1
2<tr>
for i=0 to rs.Fields.Count-1
1
2<td>```
3=rs(i)
4```</td>
next
1
2</tr>
rs.MoveNext
Loop
rs.close
set rs=nothing
StrConn.close
set StrConn=nothing
1
2</table></center>
3 、运行结果
