复杂的导入/导出数据访问/Excel

Posted

技术标签:

【中文标题】复杂的导入/导出数据访问/Excel【英文标题】:Complex Import/Export Data Access/Excel 【发布时间】:2013-05-01 07:23:45 【问题描述】:

我们的组织获得了一个电子表格模板,可以批量导入网站。

对于用户来说更新是一件很麻烦的事,因为它以以下方式在一个页面上构建:

 |        A         |        B         |        C         |
1| ProvidersSection |                  |                  |
2| ProviderHeading1 | ProviderHeading2 | ProviderHeading3 |
3|   ProviderData1  |  ProviderData2   |   ProviderData3  |
4|   VenuesSection  |                  |                  |
5|  VenuesHeading1  |  VenuesHeading2  |  VenuesHeading3  |
6|    VenuesData1   |   VenuesData2    |    VenuesData3   |
7|   OpportSection  |                  |                  |
8|  OpportHeading1  |  OpportHeading2  |  OpportHeading3  |
9|    OpportData1   |   OpportData2    |    OpportData3   |

我不知道这是否清楚,但基本上它是 3 个相互堆叠的表格:Providers、Venues 和 Opportunities。

例如,Provider 的表由 A1 中的“ProvidersSection”文本表示,然后在该行下方(第 2 行)是 Providers 表的列标题,然后在该行下方(第 3 行)是数据对应于提供程序表的列标题。

每个“数据”部分不限于我在上面示例中勾勒的 1 行,因此如果提供者表有 2 条记录,则场所部分将被下推到第 5 行。

我想做的是将此电子表格的数据保存在 3 个 Access 表中,并使用 VBA 以上面指定的格式填充电子表格。

我之前做过一些 VBA 导出,但还不是很复杂,所以我可以用一些指针来做,特别是:

这是最好的方法是将 Access VBA 导出到 Excel 还是从 Access 导入 Excel VBA? 什么方法可以让我在 Excel 中指定要导出数据的确切位置? 如何确保每个表的数据的起始位置都在前表的最后一条记录之后?

非常感谢

【问题讨论】:

【参考方案1】:
    两者都可以,这取决于您自己的偏好...但是,如果围绕此数据的所有其他功能都将位于 Access 中,我会首先考虑将其也放入 Access 中。 您可以通过 Excel 应用程序对象 > 工作簿对象 > 工作表对象 > 范围对象直接从 VBA 代码中引用范围 创建引用这些位置的范围对象或有一个计数器以数字方式跟踪(计算行数)

【讨论】:

以上是关于复杂的导入/导出数据访问/Excel的主要内容,如果未能解决你的问题,请参考以下文章

power pivot 数据导出到excel吗

java实现Excel数据导出

自动导出访问表数据以填充模板 Excel 工作表

Python:将图形导入 Excel 并将整个工作表导出为 EPS

怎样让excel从金蝶中抓取数据

只需要从访问数据库中的查询中提取/导出 2 列到 excel