学院首页>软件教学>办公软件>ASP+ADO存取EXCEL檔案

ASP+ADO存取EXCEL檔案

作者:未知 来源:未知 添加时间:2006-5-21 16:31:30
這一篇文章的主題將介紹如何使用 ADO 來查詢 Excel 試算表檔案, 這是網友常來信問的問題, 並討論它在實際應用上的限制,

雖然 ASP / ADO 支援多個使用者的同時存取, 但很可惜的是 Excel 試算表並不支援, 因此這個方法的最大缺點就是不支援多個使用者的同時存取, 由於來信詢問的網友相當多, 還是要為大家介紹

名稱範圍

首先, 請先創造一個 Excel 檔案, 就叫做 adoexcel.xls 吧! 欄位如下:

Column1Column2Column3
aaasp11
bbado22
ccexcel33

在同一欄中的資料類型必須一致, 請不要同時包含文字及數字, 否則 Excel ODBC Driver 將無法正確的辨認該欄位的資料類型, 接下來, 在工作表中創造一個名稱範圍 (Named Range):

  1. 選取你的資料所在的區域

  2. 在工具列中選擇插入, 指向名稱然後點選定義
  3. 輸入這個名稱範圍的名稱, 假設為 myRange, 按確定

ADO 會假設第一列為欄位名稱, 因此在選取名稱範圍時注意要包含第一列, 此外欄位名稱不能為數字, 否則會導致 Excel ODBC Driver 對應資料錯誤

創造系統資料來源名稱

 

  1. 在控制台中點選ODBC資料來源圖示
  2. 點選 系統資料來源名稱 , 按 新增
  3. 選擇 Microsoft Excel Driver (*.xls) , 按完成
  4. 輸入資料來源名稱, 假設為 ADOExcel

  5. Select Workbook... , 選取先前所創造的 Excel 檔案 adoexcel.xls

開啟 Recordset

暖身運動作完了, 接下來我們來看看程式部分

<%
Set oConn = Server.CreateObject("Adodb.Connection")
ADOExcel 是你所創造的 DSN
oConn.Open "ADOExcel"
Set oRs = Server.CreateObject("Adodb.Recordset")
oRs.ActiveConnection = oConn
oRs.CursorType = 3
oRs.LockType = 2
oRs.Source = "select * from myRange"
oRs.Open
 
Response.Write "

"
For i = 0 to oRs.Fields.Count - 1
Response.Write ""
Next
Response.Write ""
oRs.MoveFirst
Do While Not oRs.EOF
Response.Write ""
For i = 0 to oRs.Fields.Count - 1
Response.Write ""
Next
oRs.MoveNext
Response.Write ""
Loop
oRs.Close
Set oRs = Nothing
oConn.Close
Set oConn = Nothing
%>

其實程式部分沒有什麼特殊的地方, 這篇文章的重點應該在於創造 Excel 檔案的名稱範圍及 DSN

希望這篇文章對你有幫助!

站内搜索
 
" & oRs.Fields.Item(i).Name & "
" & oRs.Fields.Item(i).Value & "