首页 > 数据库 > mysql教程 > 如何使用 SQL 高效地将大型数据集从 Excel 传输到 Access?

如何使用 SQL 高效地将大型数据集从 Excel 传输到 Access?

Mary-Kate Olsen
发布: 2025-01-05 07:22:44
原创
149 人浏览过

How Can I Efficiently Transfer Large Datasets from Excel to Access Using SQL?

使用 SQL Insert 语句高效地将数据从 Excel 传输到 Access

在 Excel VBA 代码中,您手动循环遍历每一行data 将值插入到 Access 表中。虽然此方法适用于小型数据集,但对于 25,000 条记录等大型数据集来说,效率很低。

相反,您可以利用 SQL INSERT 语句一次插入多行,从而大大减少处理时间。以下修改后的代码演示了如何操作:

Public Sub DoTrans()
  Set cn = CreateObject("ADODB.Connection")
  dbPath = Application.ActiveWorkbook.Path & "\FDData.mdb"
  dbWb = Application.ActiveWorkbook.FullName
  dbWs = Application.ActiveSheet.Name
  scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath
  dsh = "[" & Application.ActiveSheet.Name & "$]"
  cn.Open scn

  ssql = "INSERT INTO fdFolio ([fdName], [fdOne], [fdTwo]) "
  ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh

  cn.Execute ssql

End Sub
登录后复制

通过使用第 11 行所示的 SQL INSERT 语句,Excel 范围中的所有行都会立即插入到 Access 表中。这消除了对循环的需要并显着提高了性能。

尽管您提到要指定字段名称而不是使用“SELECT *”,但提供的代码并未证明这一点。如果您在设置特定字段名称方面需要帮助,请提供所需的字段名称,我们可以帮助您相应地修改代码。

以上是如何使用 SQL 高效地将大型数据集从 Excel 传输到 Access?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板