对 Excel 的基本操作之查询数据 Execl97/2000/xp 是 MS Office 办公软件的成员之一。在企业级应用当中,我们往往需要对 Execl 进行操作,如读取 Exe" name="description" />
ASPMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对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 |
姓 名 |
语 文 |
数 学 |
物 理 |
化 学 |
地 理 |
|
|
李雪青 |
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内容的代码
clearcase/" target="_blank" >cc4 size=3><%
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>
3、运行结果