4

有谁知道如何使用 TOAD 中用于数据分析师的报告自动化将多个查询的结果导出到同一 Excel 工作簿的不同工作表中?谢谢

4

4 回答 4

3

我不确定您是否可以使用 Toad 自动执行此操作,但您可以使用 Excel 执行一个小技巧。

编写第一个查询并在 Toad 中执行,然后右键单击查询结果数据网格并选择“导出数据集...”,在 Excel 格式下选择“Excel 实例”并单击确定。它将打开 Excel 并添加一张包含查询数据的工作表。

对第二个查询重复相同的过程,它将向同一文档添加另一张表并填充来自第二个查询的数据。

执行所有查询并将其添加到 Excel 后保存 excel 文档。

如果您想完全自动执行此操作,可以使用另一种解决方案来创建包含多个工作表的单个 Excel 文档,这些工作表中加载了来自不同查询的数据。购买第三方 PL/SQL 包 ORA_EXCEL。

这是如何做到这一点的示例:

BEGIN  
    ORA_EXCEL.new_document;  

    ORA_EXCEL.add_sheet('Employees');  
    ORA_EXCEL.query_to_sheet('select * from employees');  

    ORA_EXCEL.add_sheet('Departments');  
    ORA_EXCEL.query_to_sheet('select * from departments', FALSE);  

    ORA_EXCEL.add_sheet('Locations');  
    ORA_EXCEL.query_to_sheet('select * from locations');  

    -- EXPORT_DIR is an Oracle directory with at least  
    -- write permission  
    ORA_EXCEL.save_to_file('EXPORT_DIR', 'example.xlsx');  
END;

它可以生成 Excel 文件并将其存储到 Oracle 目录,或者您可以将生成的 Excel 文件放入 PL/SQL BLOB 变量中,这样您就可以将其存储到表中或创建自己的过程来分发文件,例如将其发送到电子邮件。

您可以在产品文档/示例页面上找到更多详细信息:http ://www.oraexcel.com/examples

干杯

于 2012-12-14T18:19:19.383 回答
2

我认为 TOAD 中不存在此功能。

直接从 PL/SQL 导出到 Excel 的常用解决方案 - Tom Kyte 的 SYLK api 的 OWA_SYLK 包装器 - 仅适用于单个工作表。有几种替代解决方案。

Sanjeev Sapre 有他的 get_xl_xml 包。顾名思义,它使用 XML 进行转换。 了解更多

Jason Bennett 编写了一个生成 Excel XML 文档的 PL/SQL 对象。 了解更多。

于 2010-01-27T12:58:12.370 回答
0

您不再需要编写代码来输出多张工作表的数据。只要您的 SQL 有明确标识的查询(使用分号),TDA 或现在的 TDP 就会自动转储不同工作表中不同 SQL 的数据。

于 2013-07-24T08:50:09.000 回答
0

我有 Toad for Data Analyst 2.6。我在查询之间使用关键字 GO。

Select * from tableA;

GO

Select * from tableB;

这将在 Excel 中创建两个选项卡。

于 2017-04-05T20:20:16.760 回答