Oracle SQL 到 Excel - 集成

Posted

技术标签:

【中文标题】Oracle SQL 到 Excel - 集成【英文标题】:Oracle SQL to Excel - Integration 【发布时间】:2016-10-04 00:27:48 【问题描述】:

我有许多(60 多个)复杂查询,它们使用我试图在 excel 中报告的 oracle 数据库中的不同表和视图。

这样做最有效的方法是什么?查询结果还需要在 excel 中使用一些预先分配的值进行查找,以便相应地放置输出。并且 Excel 文件需要有一个 VBA 宏设置,以便在需要时刷新和更新文件。

在excel中使用microsoft query的适用方法效率不高。还有哪些其他选择?我已经尝试过研究,但找不到任何非常自动化和流畅的东西。

【问题讨论】:

你说你需要使用VBA来刷新和更新,所以你已经回答了你的问题。使用 VBA 从 oracle 连接和检索数据。 我很难相信你用 VBA 编写的任何东西都会比 MS Query 更有效。总是,您的 VBA 必须声明、执行和从数据库中获取,就像 MS Query 一样,只是现在您还必须担心呈现输出。为什么 Excel 和 MS Query 效率不高?我不是在批评——我真的很想了解。 【参考方案1】:

从 Excel 2013 开始,诀窍是只使用一次 MS Query,并尽量避免使用 VBA。

在一张新的工作表中,使用 MS Query 针对您的最小表格创建一个非常简单的表格,并让它在 Excel 表格中返回结果。这将在 Excel 中为您提供一个可刷新的表格,其中包含为您完成的连接字符串等所有棘手的内容。您现在可以将此选项卡用作模板。

通过按住 Ctrl 键抓住整个选项卡并将其放到下一个选项卡位置,从而复制整个选项卡。这样做的好处是使用单独的 Oracle 连接创建单独的表。对于新选项卡,在数据功能区上单击属性按钮以打开外部数据属性对话框,然后单击连接名称右侧的连接属性按钮,然后单击定义选项卡。在命令文本框中粘贴您的复杂查询,然后单击确定两次以将您的实际查询填充到 Excel 中。

重复模板选项卡复制和查询粘贴 59 次以上,您就完成了。您可以使用数据功能区上的全部刷新来一次全部刷新它们。根据需要添加其他 Excel 公式/格式。与往常一样,键盘快捷键通常比点击更快。

虽然不是强制性的,而且可能比上述所有方法都更耗时,但您应该为每个连接名称、选项卡和 Excel 表指定一个正确的名称。您可以对其中的每一个使用相同的名称(字符限制允许),因此当您粘贴 SQL 后,修复连接名称并将其复制,以便您可以将其粘贴到选项卡名称和表名称中。

您可以将这些查询表设置为在打开工作表时自动刷新。还要考虑在 Oracle 中做更多的工作来减少查询表的数量,特别是如果它减少了臭名昭著的昂贵 VLOOKUP 的数量。您还可以将连接属性定义导出到“我的数据源”目录并从数据功能区上的“现有连接”按钮重用它,因此您可能永远不需要再次使用 MS Query。

以上所有内容都可以在 VBA 中完成,但当您编写代码、调试代码并粘贴 SQL 和名称等参数时,我相信执行上述操作会更快、更简单。

【讨论】:

以上是关于Oracle SQL 到 Excel - 集成的主要内容,如果未能解决你的问题,请参考以下文章

oracle10g集成管理工具怎样用

Oracle PL/SQL Developer集成TFS进行团队脚本文件版本管理

Oracle PL/SQL Developer集成TFS进行团队脚本文件版本管理

将 MS-Access 表单结果导出到 Excel?

java 怎么从excel文件导入到oracle数据库中

CDH6.3.0集成Presto实战