如何将 SQL 结果生成到 Excel 工作表 (Oracle)

Posted

技术标签:

【中文标题】如何将 SQL 结果生成到 Excel 工作表 (Oracle)【英文标题】:How to generate SQL results to Excel sheet (Oracle) 【发布时间】:2015-09-18 04:57:18 【问题描述】:

我正在使用 SQL 开发人员。我需要将 SQL 结果集导出到 Excel 工作表。我知道如何手动导出它。

目前我正在使用批处理文件。依次运行多个 SQL 脚本文件。最后有一个包含多个 SQL 选择语句的 SQL 脚本。现在我需要在运行批处理文件本身的同时将这些结果导出到 Excel 工作表。

批处理文件名:Mytest.SQL 它包含多个脚本文件,如下所示。

@@test1.sql;
@@test2.sql;
@@test3.sql;
@@test4.sql;

最后一个脚本test4.sql包含多个select语句,需要导出到多个excel中。请提出任何解决方案。

【问题讨论】:

【参考方案1】:

几个月前我找到了这个解决方案。一个现成的包,用于将查询结果卸载到xlsx 文件中,也带有格式。链接在这里。还有一个描述如何使用这个包。 pl/sql package to unload as xlsx

希望这会有所帮助。

【讨论】:

【参考方案2】:

我曾经做过这个 VB 脚本,即我从 Excel 运行查询:

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set ThisWorkbook.OraDatabase = OraSession.OpenDatabase(sDB$, sUSERID$, 0&)
Set OraDynaSet = ThisWorkbook.OraDatabase.CreateDynaset(QueryText, 0&)

您可以在此宏中调用脚本并在 Excel 中写入循环数据

【讨论】:

【参考方案3】:

您需要特定的 xls 文件还是 csv 文件?

如果您想要一个 csv,您可以使用 sql 假脱机文件。

对于 xls 文件,您不能轻易做到这一点,您可能必须通过另一种编程语言,如 java 或 c# 或任何具有特定库的特定库来构建您的报告(例如,对于 Java Apache POI)。

【讨论】:

以上是关于如何将 SQL 结果生成到 Excel 工作表 (Oracle)的主要内容,如果未能解决你的问题,请参考以下文章

将 Select Query (SQL Server) 的结果保存到 Excel 的工作表中

如何将SQL Server中多个表的数据一次性返回到一张EXCEL工作表(Sheet)中

SQL 导出到 Excel 结果到文档锁定,无法编辑工作表

如何在 DATAGRIP IDE 中添加用于生成 excel 文件的 SQL 查询?

如何将sql表数据导出到excel工作表中?

如何将 Excel 工作表上传到 Lightswitch Web 客户端中的 SQL 表?