支持 >65k 行的 Excel VBA SQL 驱动程序

2024-05-19

在 Excel 2010 中通过 VBA 查询 Excel 数据时,我遇到一个有趣的问题。

我正在使用这些驱动程序连接到 xls 或 xls(x|m) 文件:

Sub OpenCon(ByRef theConn As Connection, ByVal FilePath As String)
'Opens the connection based on Excel version

If Right(FilePath, 4) = ".xls" Then
    theConn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
       "DriverId=790;" & _
       "Dbq=" & FilePath & ";" & _
       "DefaultDir=" & FilePath
Else
    theConn.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
       "DriverId=790;" & _
       "Dbq=" & FilePath & ";" & _
       "DefaultDir=" & FilePath
End If
End Sub

现在,如果我在 Sheet1 中有来自 A5:O15000 的数据并且我想查询它,我会做类似的事情

Dim rs as Recordset
Dim con as Connection
Set con = New Connection
OpenCon con, ThisWorkbook.FullName
Set rs = New Recordset
Set rs = con.Execute("SELECT * FROM [Sheet1$A5:O15000]")

请注意,我的数据从第五行开始。现在,15.000 行不会造成问题,但是当我们超过 Excel 2003 的 65,000 行时,代码就会崩溃。所以如果我有[Sheet1$A5:O100000]那里的代码不会运行,抱怨数据引用无效。

我发现的另一件有趣的事情是,如果数据从 A1 开始,我只说[Sheet1$]相同的代码(即使是 100.000 行)也可以正常运行。然而,我正在使用的文件是预先配置的,并且填充了大量宏,因此我不能将数据移动到工作表的开头。将数据复制到新的空白表并进行查询也不是一个选项,我尝试使用 SQL 来提高速度,并且复制整个数据集肯定不会对我有帮助。

无论如何,问题是 - 是否有另一个驱动程序可以支持额外的行数?或者有其他方法可以绕过这个问题吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支持 >65k 行的 Excel VBA SQL 驱动程序 的相关文章

  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • 使用 Spark DataFrame 获取组后所有组的 TopN

    我有一个 Spark SQL DataFrame user1 item1 rating1 user1 item2 rating2 user1 item3 rating3 user2 item1 rating4 如何按用户分组然后返回TopN
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • SPARK SQL - 当时的情况

    我是 SPARK SQL 的新手 SPARK SQL 中是否有相当于 CASE WHEN CONDITION THEN 0 ELSE 1 END 的内容 select case when 1 1 then 1 else 0 end from
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • 如何在Oracle中使用Timestamp_to_scn和Scn_to_timestamp?

    我的查询结果是这样的 select cast to date a start time mm dd yyyy hh mi ss pm as timestamp date of call ora rowscn from calling tab
  • Excel FILTER() 对于空白单元格返回 0

    我怀疑以前有人问过这个问题 但我找不到 FILTER 即使指定了返回字符串 通常也会为空白行返回 0 Using filter 我经常收到空单元格的 0 返回值 假设 A 列中有 6 行数据 abc xyz abc xyz abc If I
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 复选框上的数据绑定

    我目前正在将数据从 SQL 数据库之一提取到我的应用程序中 我可以让它适用于我的文本框和其他项目 但是 我似乎无法让它适用于复选框 这是我正在使用的代码 DataTable dt new DataTable dt using SqlConn
  • 如何使用PostGIS将多边形数据转换为线段

    我在 PostgreSQL PostGIS 中有一个多边形数据表 现在我需要将此多边形数据转换为其相应的线段 谁能告诉我如何使用 PostGIS 查询进行转换 提前致谢 一般来说 将多边形转换为线可能并不简单 因为没有一对一的映射 http
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • SQL Server,插入 Excel“链接服务器”时出现“无效列名”错误

    我有一个简单的 Excel 电子表格文档 运行 Office 2013 我使用 Microsoft Office 15 0 Access 数据库引擎 OLE DB 提供程序 将其用作数据库 我可以使用 MS SQL Server Manag
  • SQL 删除表并重新创建并保留数据

    在我们最初的设计中 我们搞砸了表中的外键约束 现在表已充满数据 我们无法在不删除表中所有记录的情况下更改它 我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里 然后删除所有记录 更改表并开始将它们添加回来 还有其他 更好 的想法吗
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • 两个日期之间的小时数在 Excel 中不起作用

    根据要求 我提供了一张简化的屏幕截图来说明该问题 如您所见 我减去了两个日期并将其格式化为 h mm ss 为什么这不能提供两个日期之间经过的总小时数 有一个更好的方法吗 下面有一个很好的答案 但我试图弄清楚为什么按照此屏幕截图中所示的方式
  • 标志状态的 VBA 替换

    根据文档 Outlook 中的 MailItem FlagStatus 属性是已弃用 https msdn microsoft com en us library microsoft office interop outlook maili
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths

随机推荐

  • 迁移到 ARC 时如何解决“选择器'performSelector:withObject:afterDelay:'没有已知的实例方法”?

    ARC 迁移工具在开始迁移之前拒绝接受此代码 self delegate performSelector selector overlayDismissed withObject self afterDelay 0 委托被迫使用协议来实现此
  • 在流体设计中将元素的宽度调整为其高度的百分比,反之亦然? [复制]

    这个问题在这里已经有答案了 我正在制作响应式设计 无论屏幕尺寸是什么 它都必须保持其元素的比例 高度与宽度 所以我不知道任何元素的像素大小 并且我只能以 工作 我可以将宽度或高度设置为浏览器大小的百分比 但我不知道如何设置其他属性值 仅使用
  • Android 运行时中的 Appworld 市场链接

    我在应用程序世界上有一个应用程序 我想在我的应用程序中添加一个指向它的链接 以便人们可以更轻松地对其进行评分 通常在 android 市场上我会这样做 Uri uri Uri parse market details id com exam
  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • JSTL 日期比较

    我看过一些关于 JSTL 中日期比较的帖子 但我仍然无法让它工作 我有一个日期字段 我想测试它是否在之后01 01 1970
  • 在多个动态添加的表单上初始化 jQuery validate() 函数

    有人建议最好初始化一个 form validate 在页面加载而不是点击事件上运行 jquery form validate 插件仅允许在输入更改时提交 https stackoverflow com questions 10984196
  • 如何按定义的顺序将图像合并到一个文件中

    我有大约 100 张图像 png 我不想手动执行此操作 而是希望将它们按照定义的顺序 基于文件名 并排放置在一个 pdf 中 每行 12 个图像 有人有什么建议吗 我按照下面托马斯告诉我的方法尝试了 它把它们贴在旁边有一个黑边 我怎样才能去
  • 如何自动缩放mapView以显示叠加层

    我可以在 mapView 上绘制多边形 但是我需要找到多边形并手动缩放它 有没有办法自动执行此过程 例如调整中心多边形 我浏览过互联网并阅读了一些相关文章 其中大多数都是基于折线和点的 任何形式的帮助将不胜感激 因为我正在寻找解决方案一段时
  • SQL:如何从一个表中获取另一个表中每一行的随机行数

    我有两个数据不相关的表 对于表 A 中的每一行 我想要例如表 B 中的 3 个随机行 使用光标这相当容易 但速度非常慢 那么我该如何用单个语句来表达这一点以避免 RBAR 呢 要获得 0 到 N 1 之间的随机数 可以使用 abs chec
  • Pandas 交叉表与 Pandas 数据透视表有何不同?

    两只熊猫的crosstab and pivot table函数似乎提供完全相同的功能 有什么区别吗 两者之间的主要区别是pivot table期望您的输入数据已经是一个 DataFrame 你将一个 DataFrame 传递给pivot t
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • 无法读取未定义的“触及”属性

    为什么我会收到此错误无法读取未定义的属性 为什么无法读取formName controls email touched但它能够阅读formName get custDetails touched
  • 使用面向对象的分析和设计对电梯进行建模[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当涉及到面向对象的设计和分析时 有一组问题似乎在面试和课堂上很常见 这是其中之一 不幸的是 我在大学的 OOP 教授从未真正给出过答案 所以我一
  • 在Python中,如何将矩阵逆时针旋转90度?

    gt gt gt def rotate matrix k List List int For example if I have m 1 2 3 2 3 3 5 4 3 rotate matrix m should give me 3 3
  • 使用sk_buff添加以太网帧头

    我有一个捕获传出互联网流量的内核模块 Netfilter hook LOCAL OUT 在此挂钩处 仍然没有以太网标头 我构建了以太网头并且可以使用了 但是如何将其连接到skb这样我就可以将整个 skb 结构发送到dev queue xmi
  • 如何覆盖 bootstrap 表 td 样式?

    我正在使用 Bootstrap 3 3我有一个 HTML 代码如下 div table class table table striped tr td 03 td td 04 td td 05 td td 06 td td 07 td td
  • 在 iOS 模拟器中安装应用程序的脚本

    我正在尝试自动化构建应用程序 运行单元测试以及最终运行 UI 测试的过程 我正在通过命令行 xcodebuild sdk iphonesimulator6 0 在某个目录中构建应用程序 如何通过命令行 在 Library Applicati
  • Angularjs 完整日历不显示事件

    我正在用那个https github com angular ui ui calendar https github com angular ui ui calendar在 Angularjs 中使用 FullCalendar 它显示日历并
  • 使用静态指针的动态内存分配

    有人可以向我解释一下为什么下面的代码会这样工作吗 这里我已经初始化了outd作为文件中的静态指针code2 c 然后我动态地为其分配内存malloc 从单独文件中的主函数中一次又一次地调用它code1 c 它看起来整个数组以静态方式运行 因
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV