【发布时间】:2013-08-02 04:46:14
【问题描述】:
我刚刚开始一个项目,该项目需要我将多个 Excel 文件中的数据聚合到 Access 表中。棘手的部分是我的 Excel 数据不会在表格中,而是在像混乱一样的扫雷器中(你知道,地雷是随机放置的)。当然也不是完全随机的……
每个 Excel 文件本质上是一个包含预算信息和其他数据的项目的跟踪表格。作为一个 FORM 意味着它是在视觉上而不是在逻辑上排列的。此外,数据跨越 4 个单独的工作表。
是否有人对有效地将这些数据导入 Access 有任何建议?
假设:
1)每个excel文件在Access中只会变成一行数据。
2)每个excel文件都将被锁定,以便每次在完全相同的单元格中输入数据
基于这些假设,我正在考虑创建一个隐藏的工作表,其中包含引用每个单独单元格的适当标题值,从而创建一个合并的数据表。然后从 Access 中创建一个宏,允许我选择所需的工作簿并从该隐藏表中导入新记录。当然有很多关于如何从 Excel 表中导入一条或多条记录的信息,所以如果我必须创建一个虚拟表,那就这样吧。
我应该考虑任何替代方法吗?有什么技巧可以简化我概述的步骤?
提前致谢!
【问题讨论】:
-
我的建议:使用隐藏表创建聚合数据表,然后使用 vba 导入它们(或更简单)使用 pentaho 数据集成(kettle)进行自动化。将表格保留在访问权限或 Excel 工作表中,该工作表保留文件名和隐藏工作表名称,并将其用作您的 etl 的“控制工作表”。
-
保持代码集中!如果您需要多个工作簿,让它们只是数据并使用 VBA 从 Access 收集所有数据。将您的代码拆分为多个工作簿和 Access 会增加您的代码复杂性。
-
@LS_dev 很好的建议!此外,这应该使我不必分发和启用宏的文件 (.xlsm)。