用ADO對Excel的數據查詢
2024-07-21 02:08:50
供稿:網友
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內容的代碼
<%
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、運行結果