Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。 我們都知道可以像操作數據表一樣使用 ADO 來訪問 Excel 文檔, 在 Excel 2003 及以前的版本是使用的Microsoft.Jet.OLEDB.4.0 引擎(簡稱 Jet 引擎)來訪問 Excel 數據,但隨著 Offic 2007 的推出, 微軟發布了最新的 Microsoft.ACE.OLEDB.12.0 引擎(簡稱 ACE 引擎). 這個新的數據引擎不僅可以訪問 Excel 2007 文件類型, 還兼容支持 Excel 97-2003 文件類型,下面就來簡單來說一說這兩個引擎。  ?連接字符串的寫法不同的 ADO 引擎訪問 Excel 數據有不同的連接字符串的寫法,Excel 2003 版本和 2007 版本的寫法分別如下(其中的 [Excel-FullName] 為你需要訪問的 Excel 文件全名): - Excel2003 及以前版本的寫法:
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & [Excel-FullName] & _"; Extended Properties='Excel 8.0; HDR=Yes; IMEX=1'" | ??? - ?Excel2007 及以后版本的寫法:
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & [Excel-FullName]?& _"; Extended Properties='Excel 12.0; HDR=YES; IMEX=1'" | ?? 特別說明:? - HDR=YES 表示第一行是列名而不是數據; HDR=NO 則正好與前面的相反, 系統默認為 HDR=YES。
- IMEX ( IMport EXport mode )有三種模式:
????? 0 表示輸出模式: 此時 Excel 文檔只能用來做“寫入”用途。 ????? 1 表示輸入模式: 此時 Excel 文檔只能用來做“讀取”用途。 ????? 2 表示鏈接模式(完全更新能力):? 此時 Excel 文檔可同時支持“讀取”與“寫入”用途。 示例代碼: Option Explicit Sub btnADO_Click() On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Dim xADOCon As Variant Dim xADORs As Variant Dim xSQLStr As String Dim I As Long ThisWorkbook.Names.Item("Result").RefersToRange.ClearContents '創建數據庫連接 Set xADOCon = CreateObject("Adodb.Connection") ' 打開數據庫連接 ' 2007及以后版本 xADOCon.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & ThisWorkbook.FullName & "; Extended Properties='Excel 12.0; HDR=YES; IMEX=1'" ' 2003及以前版本 'xADOCon.Open "Provider=Microsoft.jet.OLEDB.4.0; Data Source=" & ThisWorkbook.FullName & "; Extended Properties='Excel 8.0; HDR=YES; IMEX=1'" ' 設置SQL語句 xSQLStr = "SELECT * FROM [Data_1$] WHERE 姓名='王二' OR 姓名='馬五' AND 年齡>30" ' 將SQL語句獲得的數據傳遞給數據集 Set xADORs = xADOCon.Execute(xSQLStr) ' 獲得SQL結果的列標題 For I = 1 To xADORs.Fields.Count ThisWorkbook.Names.Item("Result").RefersToRange.Cells(1, I) = xADORs.Fields(I - 1).Name Next ThisWorkbook.Names.Item("Result").RefersToRange.Range("a2").CopyFromRecordset xADORs '關閉數據庫連接 xADOCon.Close Set xADOCon = Nothing Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub ? 示例文件下載1文件名稱 | 1下載鏈接 |
---|
ADO.zip | http://pan.baidu.com/s/1qWlXQS8 |
Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。 |