如何以编程方式将 Excel 数据导入到 Access 表中?

2023-12-28

我已经阅读了一些相关主题,但仍然留下了这个问题。我想在 Access 数据库应用程序中编写一个函数,以编程方式导入从前两行(标题和单位分隔符)之前开始的 Excel 数据。

我希望完成以下任务:

  • 能够动态选择我要导入的 Excel 文件,可能使用对话框或文件浏览器窗口。
  • 在导入时将“通用”数据插入到每一行中 - 例如记录器的资产编号和记录器的指定位置。
  • 从第 3 行(而不是第 1 行)开始导入 - 因为设备会自动将记录的标题和测量单位信息放在那里。
  • 忽略工作表中的所有其他列 - 数据将始终出现在 A 至 G 列中,并且数据始终从第 3 行开始。

这是 Excel 数据的常见格式(破折号代表数据):



     Date     Time     Temp     Dew Point     Wet Bulb     GPP     RH
                       Cº       Cº            Cº           g/Kg    %
     ----     ----     ----     ----          ----         ----    ----
     ----     ----     ----     ----          ----         ----    ----
  

我尝试过内置的 Access“获取外部数据”功能,但它不会跳过第 2 行,并且 Excel 文件中的额外数据在尝试导入时会引发错误,从而停止进程。

我首先承认,在使用外部文件之前,我从未尝试过为 Access 编写导入函数,因此我有点新手。人们可以向我提供的任何帮助将始终不胜感激,并且我可以根据需要使用尝试的代码来更新它。预先感谢大家的帮助!

-- 编辑于 01/03/2011 @ 10:41 am --

在阅读了 Remou 提出的 ADO 连接到 Excel 数据线程后,我认为这是一些代码might做这项工作,但我不确定。

Dim rs2 As New ADODB.Recordset
Dim cnn2 As New ADODB.Connection
Dim cmd2 As New ADODB.Command
Dim intField As Integer
Dim strFile As String

strFile = fncOpenFile
If strFile = "" Then Exit Sub

With cnn2
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source='" & strFile & "'; " & "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
    .Open
End With

Set cmd2.ActiveConnection = cnn2
cmd2.CommandType = adCmdText
cmd2.CommandText = "SELECT * FROM [Data$] WHERE G1 IS NOT NULL"
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenDynamic
rs2.LockType = adLockOptimistic

rs2.Open cmd2

您可以使用 TransferSpreadsheet :http://msdn.microsoft.com/en-us/library/aa220766(v=office.11​​).aspx http://msdn.microsoft.com/en-us/library/aa220766(v=office.11).aspx

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
    "Employees","C:\Data\Test.xls", True, "A3:G12"

或者你可以使用 ADO 连接连接到 Excel https://stackoverflow.com/questions/2086234/query-excel-worksheet-in-ms-access-vba-using-adodb-recordset/2086626#2086626.

最简单的方法可能是导入或链接,然后使用查询用电子表格数据和通用数据更新相关表。

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

如何以编程方式将 Excel 数据导入到 Access 表中? 的相关文章

  • Countif 不适用于小时和/或日期

    您好 我有 3 列内的数据 A 目的地 例如洛杉矶 B 承运人 例如 Ups C 发货时间 预计 4 00 使用的时间是24小时时间 不含Am Pm 我需要进行计数才能知道在特定时间我们有多少批货物 尝试过 COUNTIF A1 A100
  • MS Access 表单按钮,允许用户浏览/选择文件,然后将文件导入到表中

    在我的数据库中 我可以使用以下命令创建命令按钮导入文件 DoCmd TransferText acImportDelim 导入的原始数据 导入规范 导入的原始数据 D Users Denise Griffith Documents Grif
  • 文本到行 VBA Excel

    我有一个电子表格 其中包含大约 4000 行数据 其中一列数据具有唯一的订单号 我希望使用 作为分隔符将其分隔 所以本质上我想要 Name Order Date Jane 123 001 111 08 15 2013 Gary 333 12
  • 运行代码(而不是查询)时如何在状态栏上显示进度

    我已经发布了有关在 MS Access 2010 中运行查询时更新状态栏的问题 请参阅在 MS Access 中运行一系列查询时如何在状态栏上显示进度 https stackoverflow com questions 27765376 h
  • Perforce Excel 文件差异

    我有一堆 excel 文件放在 perforce 上 我想对这些 excel 文件进行 diff 类似于我在 perforce 中对其他文件 如 java cs 等 所做的操作 我尝试寻找一个插件 发现 P4OFC 只适合对 word 文件
  • 将范围内的每个值乘以常数,但跳过空白单元格

    我需要一个简单快速的解决方案 用于将范围内的所有值乘以 VBA 代码中的数值 我知道这个解决方案 将整个范围乘以值 https stackoverflow com questions 18990541 multiply entire ran
  • 如何模拟“焦点”和“打字”事件

    尝试模拟 onfocus 和打字事件 但它不起作用 Sub Login MyLogin MyPass Dim IEapp As InternetExplorer Dim IeDoc As Object Dim ieTable As Obje
  • 无法在我的抓取工具中设置超时选项以防止无限循环

    我已经使用 IE 在 vba 中编写了一个脚本 在其搜索框中的网页中启动搜索 通过点击搜索按钮根据搜索填充结果 网页加载它是searchbox几秒钟后它就会打开 但是 我的下面的脚本可以处理这个障碍并以正确的方式执行搜索 现在 我有一个稍微
  • xlwings: 删除一个列 | Excel 中的行

    如何删除 Excel 中的一行 wb xw Book Shipment xlsx wb sheets Page1 1 range 1 1 clear clear 用于删除内容 我想删除该行 我很惊讶 clear 函数有效 但 delete
  • 如何使用 Nodejs 创建 Excel 文件?

    我是一名 Nodejs 程序员 现在我有一个数据表 我想将其保存为 Excel 文件格式 我该怎么做呢 我找到了一些 Node 库 但其中大多数是 Excel 解析器而不是 Excel 编写器 我使用的是 Linux 服务器 因此需要一些可
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 导出到excel时如何显示前导零?

    我正在通过更改内容类型来创建 Excel 报告 Response ContentType application vnd ms excel 我有包含前导零的值 问题是导出到 Excel 时缺少前导零 e g 000123 gt 123 我知
  • 使用 MS Access 获取行的第一个实例

    EDITED 我有这个查询 我想SELECT表中记录的第一个实例petTable SELECT id pet ID FIRST petName First Description FROM petTable GROUP BY pet ID
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • 在合并的单元格中选择、插入照片并将其居中

    我是一名研发面包师 正在为我的团队制作食谱模板 模板中有照片 但我需要轻松地允许他们单击一个按钮 打开照片的文件选择器 然后将该照片放在合并的单元格中 我其实不太擅长做这个 Sub InsertPhotoMacro Dim photoNam
  • MS Access (Jet) 事务、工作区

    我在提交事务 使用 Access 2003 DAO 时遇到问题 它的表现就好像我从未调用过 BeginTrans 我在 CommitTrans 上收到错误 3034 您尝试在未先开始事务的情况下提交或回滚事务 并且更改将写入数据库 大概是因
  • 在没有 LinkChild/LinkMaster 的情况下链接子报表

    我正在维护并偶尔修改一个 Access 97 程序 该程序仍然是一家非常大的美国公司的重要部门工具 许多报告使用 总计 子报告 我无法使用 LinkChildFields LinkMasterFields 链接该子报告 在每种情况下 主报告
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 两个日期之间的小时数在 Excel 中不起作用

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

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

随机推荐

  • 曾几何时,> 比 < 更快……等等,什么?

    我在读很棒的 OpenGL 教程 https paroj github io gltut Positioning Tut05 20Overlap 20and 20Depth 20Buffering html 这真的很棒 相信我 我当前的主题
  • Android 中通过 SIP 进行视频通话

    我是 Android 初学者 正在开发一个可以使用 SIP 通过 IP 进行视频通话的应用程序 我在 Google 和 StackOverflow 上搜索了很多 得到的只是我需要一些 Native Library 而我对它没有太多了解 我关
  • 如何在 C# 中仅反序列化 XML 文档的一部分

    这是我试图解决的问题的一个虚构示例 如果我使用 C 工作 并且有这样的 XML
  • .NET:检查 URL 的响应状态代码?

    在 NET 中检查 Web 服务器回复 GET 请求的状态代码的最简单方法是什么 请注意 我不需要响应的正文 事实上 如果可能的话 只应该请求标头 然而 话虽如此 如果请求省略响应正文会显着增加代码的复杂性 那么接收正文就可以了 另外 我对
  • 多核机器上单精度数组与双精度数组的矩阵乘法的性能下降

    UPDATE 不幸的是 由于我的疏忽 我有一个旧版本的 MKL 11 1 与 numpy 链接 新版本的 MKL 11 3 1 在 C 中和从 python 调用时提供相同的性能 令人困惑的是 即使将编译后的共享库与较新的 MKL 显式链接
  • 缩短 Javascript if-else 结构

    我的代码是 var level function d if value d gt median stdev return 1 else if value d gt median return 2 else if value d gt med
  • 在 django 中将 2 小时和 1 天添加到时间戳上

    我有一个保存游戏数据的模型 我如何在 开始 字段中添加 2 小时和 1 天 class Game models Model starts models DateTimeField auto now add True ends models
  • 如何使用 UICollectionView 复制 iOS Chrome 选项卡效果 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在创建一个应用程序 其中视图之一
  • Scala 中存在“无法解析符号”错误的通用方法

    我需要获得一个通用的检查方法 可以按如下方式使用 check Int 10 1 5 and check Double 10 0 1 0 5 0 我尝试了这段代码 trait RangeChecker def check T lt AnyVa
  • 如何翻译外部 javascript 文件中的文本? (姜戈)

    我有一个 JavaScript 文件 它根据用户交互将元素附加到正文 现在 在我的 index html 模板中 我使用翻译后的文本声明全局变量 block main endblock 因此 在 Django 翻译索引模板中的文本后 我的
  • #include C/C++ 中的头文件

    在阅读了几个有关编译 特别是 C 问题的问题并注意到在许多情况下问题是缺少标头 include 后 我不禁对自己的无知感到疑惑 并问自己 现在也问你 为什么缺少的标头不会自动检查并添加或请求给程序员 例如 此类功能可用于 Netbeans
  • 如何将文字放在图像的中间

    你好 使用 CSS 我试图将一些文本放在图像的中心 所以它看起来像这样 div P I This is some text C div 我怎样才能达到这个结果 不知道这是否有帮助 图像是 32x32 像素 img vertical alig
  • Doctrine2 中 JOIN ON 和 JOIN WITH 有什么区别?

    Doctrine2 中 JOIN ON 和 JOIN WITH 有什么区别 我在手册中找不到任何相关信息 ON替换原来的连接条件 WITH为其添加一个条件 Example Album OneToMany gt Track Case One
  • 子图日期时间 X 轴刻度未按预期工作

    我正在尝试绘制许多图 以下是数据组织方式的示例 我的目的是使用谷歌分析数据构建一系列几小时或几天 比如一周 7 天 或一天 24 小时 的子图 我的索引是日期时间对象 这是当轴正确完成时单个图的外观示例 from datetime impo
  • 了解 Traceview

    我想了解跟踪视图是如何工作的 我尝试使用traceview 分析一种方法 但有一个疑问 我已附上 trace 的快照 它表示大部分时间由蓝色标记的 顶级 占用 但没有更多信息 这个方法何时执行或者执行什么功能 谁能向我解释一下为什么它花费这
  • 在scala中调用akka actor的方法

    我有一个演员定义如下 class nodeActor ID String extends Actor 其中包含一个方法 用于在启动之前设置 actor def addRef actor ActorRef 我这样实例化这个演员 val nod
  • Junit ant 任务 - 未找到 JUnitTask

    我正在尝试从我的 ant build xml 文件运行 Junit 测试 我读here http ant apache org manual Tasks junit html您可以使用 junit jar 文件 而不是使用位于 ant ho
  • 如何消除 Flutter 中两个容器之间的空间?

    我在 Column 小部件内有两个高度 250 的容器 这两个容器小部件之间没有任何其他小部件 但我仍然可以看到两个容器之间的空间很小 这是我的代码 import package flutter material dart void mai
  • 什么是spark.driver.maxResultSize?

    The ref http spark apache org docs latest configuration html says 每个分区的所有分区的序列化结果总大小的限制 激发行动 例如收集 应至少为 1M 或 0 无限 如果总大小超过
  • 如何以编程方式将 Excel 数据导入到 Access 表中?

    我已经阅读了一些相关主题 但仍然留下了这个问题 我想在 Access 数据库应用程序中编写一个函数 以编程方式导入从前两行 标题和单位分隔符 之前开始的 Excel 数据 我希望完成以下任务 能够动态选择我要导入的 Excel 文件 可能使