之梦系统怎么修改网站标头图片,电子商务网站建设需要哪些步骤,专门教做西餐的网站,网页设计网站布局分析日期#xff1a;2023年8月11日 作者#xff1a;Commas 签名#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释#xff1a;如果您觉得有所帮助#xff0c;帮忙点个赞#xff0c;也可以关注我#xff0c;我们一起成长#xff1b;如果有不对的地方#xf… 日期2023年8月11日 作者Commas 签名(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释如果您觉得有所帮助帮忙点个赞也可以关注我我们一起成长如果有不对的地方还望各位大佬不吝赐教谢谢^ - ^ 1.01365 37.78340.99365 0.0255 1.02365 1377.40830.98365 0.0006 文章目录 一、前言二、使用要求三、Jet.OLEDB读取旧版.xls格式的Excel四、Jet.OLEDB读取新版.xlsx格式的Excel4-1前期绑定静态绑定4-2 后期绑定动态绑定4-3完整示例 五、结束语 一、前言
上期文章《【VB6|第22期】用SQL的方式读取Excel数据》 介绍了通过 第三方库Jet.OLEDB 读取 Excel 数据读取了旧版 .xls 格式的 Excel 文件对于新版我们留下了一个伏笔。
或许有人会建议考虑使用 Microsoft ACE OLEDB 提供程序来读取新版 .xlsx 格式的 Excel 文件。但是安装额外的程序然后又因为 Excel 程序位数与额外程序位数等等兼容性问题再调试来调试去的显然对于用户来说不太友好而且个人感觉很麻烦所以本文不对此话题进行展开讨论。
本文主要讲解如何用 Jet.OLEDB 来读取新版 .xlsx 格式的 Excel 文件。话不多说直接上教程。
二、使用要求
安装了 MS Office 软件安装了最新版 WSP Office 软件
满足上述其中一条我们就就有了实现 Jet.OLEDB 读取新版 .xlsx 格式的 Excel 文件 的基础。
三、Jet.OLEDB读取旧版.xls格式的Excel 示例代码
Option Explicit
Private Sub CmdJet_Click()
On Error Resume Next
函数说明使用第三方库Jet.OLEDB读取Excel数据(.xls格式)
创建作者Commas
创建时间2023-08-06
修改时间
------传参说明------
------传参说明------Excel文件的路径Dim sXLPath As StringsXLPath App.Path \example.xlsxsXLPath App.Path \example.xls NO1前期绑定静态绑定 需要添加对Microsoft ActiveX Data Objects xx.x Library的引用版本号根据ADO版本变化Dim CN As New ADODB.ConnectionDim RS As New ADODB.Recordset NO2后期绑定动态绑定Dim CN As Object New ADODB.ConnectionDim RS As Object New ADODB.RecordsetSet CN CreateObject(adodb.connection)Set RS CreateObject(adodb.recordset)Dim CNStr As StringDim sqlQuery As String 连接到Excel文件CNStr ProviderMicrosoft.Jet.OLEDB.4.0;Data Source{path};Extended PropertiesExcel 8.0;HDRYes;;CNStr ProviderMicrosoft.Jet.OLEDB.4.0;Data Source{path};Extended PropertiesExcel 12.0;HDRYes;;CNStr Replace(CNStr, {path}, sXLPath)CN.Open CNStr 构造SQL查询语句sqlQuery SELECT * FROM [Sheet1$A1:C5]; 执行查询并将结果保存到记录集RecordsetRS.Open sqlQuery, CN 将数据读取到数组中Dim aryData() As VariantaryData RS.GetRowsRS.CloseCN.Close输出,获取二维数组的行数和列数Dim rows As Long, cols As Longrows UBound(aryData, 1) 1 行数cols UBound(aryData, 2) 1 列数 遍历二维数组Dim i As Long, j As LongFor i 0 To rows - 1For j 0 To cols - 1 访问二维数组中的元素Debug.Print aryData( i , j ) aryData(i, j)Next jNext i
End Sub返回结果
aryData(0, 0) 张三
aryData(0, 1) 李小龙
aryData(0, 2) 王五
aryData(0, 3) 赵六
aryData(1, 0) 技术部
aryData(1, 1) 技术部
aryData(1, 2) 市场部
aryData(1, 3) 销售部
aryData(2, 0) 18
aryData(2, 1) 19
aryData(2, 2) 20
aryData(2, 3) 21四、Jet.OLEDB读取新版.xlsx格式的Excel
实现的操作流程很简单我们只需要在 三、Jet.OLEDB读取旧版.xls格式的Excel 的基础上加上一个COM组件打开Excel就可以了。COM组件打开Excel 之前文章详细讨论过这里就不再赘述不清楚的小伙伴可以点击《【VB6|第19期】vb6通过COM组件操作Excel》查看了解的小伙伴可以直接逃过看下文。
4-1前期绑定静态绑定
需要在工程引入中添加 Microsoft Excel xx.0 Object Library 的引用。 Dim XlApp As New Excel.Application
Dim XlBook As New Excel.WorkbookXlApp.Visible False
Set XlBook XlApp.Workbooks.Open(sXLPath)嵌套 三、Jet.OLEDB读取旧版.xls格式的Excel 的代码
实现SQL读取.xlsx和.xls格式的ExcelXlBook.Close
XlApp.Quit4-2 后期绑定动态绑定
Dim XlApp As Object New Excel.Application
Dim XlBook As Object New Excel.WorkbookSet XlApp VBA.CreateObject(Excel.Application)
XlApp.Visible False
Set XlBook XlApp.Workbooks.Open(sXLPath)嵌套 三、Jet.OLEDB读取旧版.xls格式的Excel 的代码
实现SQL读取.xlsx和.xls格式的ExcelXlBook.Close
XlApp.Quit4-3完整示例 示例代码
Private Sub CmdJetXLSX_Click()
On Error Resume Next
函数说明使用第三方库Jet.OLEDB读取Excel数据(.xls格式和.xlsx格式)
创建作者Commas
创建时间2023-08-08
修改时间
------传参说明------
------传参说明------Excel文件的路径Dim sXLPath As StringsXLPath App.Path \example.xlsxsXLPath App.Path \example.xls加上这个就可以读取.xlsx格式的Excel文件啦 NO1前期绑定静态绑定Dim XlApp As New Excel.ApplicationDim XlBook As New Excel.Workbook NO2后期绑定动态绑定Dim XlApp As Object New Excel.ApplicationDim XlBook As Object New Excel.WorkbookSet XlApp VBA.CreateObject(Excel.Application)XlApp.Visible FalseSet XlBook XlApp.Workbooks.Open(sXLPath)加上这个就可以读取.xlsx格式的Excel文件啦 NO1前期绑定静态绑定 需要添加对Microsoft ActiveX Data Objects xx.x Library的引用版本号根据ADO版本变化Dim CN As New ADODB.ConnectionDim RS As New ADODB.Recordset NO2后期绑定动态绑定Dim CN As Object New ADODB.ConnectionDim RS As Object New ADODB.RecordsetSet CN CreateObject(adodb.connection)Set RS CreateObject(adodb.recordset)Dim CNStr As StringDim sqlQuery As String 连接到Excel文件CNStr ProviderMicrosoft.Jet.OLEDB.4.0;Data Source{path};Extended PropertiesExcel 8.0;HDRYes;;CNStr ProviderMicrosoft.Jet.OLEDB.4.0;Data Source{path};Extended PropertiesExcel 12.0;HDRYes;;CNStr Replace(CNStr, {path}, sXLPath)CN.Open CNStr 构造SQL查询语句sqlQuery SELECT * FROM [Sheet1$A1:C5]; 执行查询并将结果保存到记录集RecordsetRS.Open sqlQuery, CN 将数据读取到数组中Dim aryData() As VariantaryData RS.GetRowsRS.CloseCN.Close加上这个就可以读取.xlsx格式的Excel文件啦XlBook.CloseXlApp.Quit加上这个就可以读取.xlsx格式的Excel文件啦输出,获取二维数组的行数和列数Dim rows As Long, cols As Longrows UBound(aryData, 1) 1 行数cols UBound(aryData, 2) 1 列数 遍历二维数组Dim i As Long, j As LongFor i 0 To rows - 1For j 0 To cols - 1 访问二维数组中的元素Debug.Print aryData( i , j ) aryData(i, j)Next jNext i
End Sub返回结果
aryData(0, 0) 张三
aryData(0, 1) 李小龙
aryData(0, 2) 王五
aryData(0, 3) 赵六
aryData(1, 0) 技术部
aryData(1, 1) 技术部
aryData(1, 2) 市场部
aryData(1, 3) 销售部
aryData(2, 0) 18
aryData(2, 1) 19
aryData(2, 2) 20
aryData(2, 3) 21五、结束语
经测试用户只要安装 MS Office 或者 新版的 WPS Office就可以用Jet.OLEDB 正常读取新版 .xlsx 的Excel 文件的数据啦。 本文也只是浅谈了一下使用教程对原理感兴趣的小伙伴也可以继续研究微软的相关知识或者大佬们也可以留言为我们大家解惑。 编写教程不易希望各位小伙伴可以给个赞让更多的小伙伴可以看到参与话题讨论中来。 参考文章
《Microsoft OLE DB Provider for Microsoft Jet》 版权声明本文为博主原创文章如需转载请给出 原文链接https://blog.csdn.net/qq_35844043/article/details/132131301