网站首页/办公软件列表/内容

ADO 访问 Excel 数据 完成代码及源码下载

办公软件2024-01-23阅读
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 数据 实现代码及源码下载
?

连接字符串的写法

不同的 ADO 引擎访问 Excel 数据有不同的连接字符串的写法,Excel 2003 版本和 2007 版本的写法分别如下(其中的 [Excel-FullName] 为你需要访问的 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.ziphttp://pan.baidu.com/s/1qWlXQS8

Excel整体界面趋于平面化,显得清新简洁。流畅的动画和平滑的过渡,带来不同以往的使用体验。

……

相关阅读