有谁知道如何使用 TOAD 中用于数据分析师的报告自动化将多个查询的结果导出到同一 Excel 工作簿的不同工作表中?谢谢
4 回答
我不确定您是否可以使用 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
干杯
您不再需要编写代码来输出多张工作表的数据。只要您的 SQL 有明确标识的查询(使用分号),TDA 或现在的 TDP 就会自动转储不同工作表中不同 SQL 的数据。
我有 Toad for Data Analyst 2.6。我在查询之间使用关键字 GO。
Select * from tableA;
GO
Select * from tableB;
这将在 Excel 中创建两个选项卡。