欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > Excel专区 > Excel函数 > ADO 访问 Excel 数据 实现代码及源码下载

ADO 访问 Excel 数据 实现代码及源码下载

时间:2020-07-08 12:32作者:admin来源:未知人气:341我要评论(0)

我们都知道可以像操作数据表一样使用 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 文件全名):

  • 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.ziphttp://pan.baidu.com/s/1qWlXQS8

ADO 访问 Excel 数据 实现代码及源码下载的下载地址:
  • 本地下载

  • 相关阅读 Excel有哪些常用的数学函数?​Excel取消表格中虚线的两种方法Excel最常见的「错误值」,这些含义你都知道吗?实现快速找出Excel表格中两列数据不同内容的3种方法!如何利用Excel一键提取身份证的这些重要信息,公式直接套用!Excel如何制作动态红绿灯,工作可不要亮红灯哦Excel身份证号大探索excel如何根据日期按月汇总计算公式Excel浪漫表白公式,发给心仪的她/他Excel表格如何自动求和

    文章评论
    发表评论

    热门文章 excel 两表数据快速对比,高手都是这样做,四种方法随你选.xlsm是什么文件格式,以及xlsm文件怎么打开的方法excel if函数如何多个条件并列excel中计算加权平均数的公式:用SUMPRODUCT和SUM函数计算加权平均

    最新文章 Excel有哪些常用的数学函数?​Excel取消表格中虚线的两种方法 Excel最常见的「错误值」,这些含义你都知道吗?实现快速找出Excel表格中两列数据不同内容的3种方法!如何利用Excel一键提取身份证的这些重要信息,公式直接套用!Excel如何制作动态红绿灯,工作可不要亮红灯哦

    人气排行 excel 两表数据快速对比,高手都是这样做,四种方法随你选.xlsm是什么文件格式,以及xlsm文件怎么打开的方法excel if函数如何多个条件并列excel中计算加权平均数的公式:用SUMPRODUCT和SUM函数计算加权平均excel中IF条件函数10大用法完整版,全会是高手,配合SUMIF,VLOOKUPexcel中COUNTIFS函数9种高级用法详解,条件统计重复值,告别加班涨工如何解除Excel VBA工程密码excel 如何根据身份证号码提取户籍所在省份地区函数公式

    盖楼回复X

    (您的评论需要经过审核才能显示)