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

时间:2015-09-18 04:57:19

标签: sql oracle oracle-sqldeveloper

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

目前我正在使用批处理文件。反过来运行多个SQL脚本文件。最后有一个SQL脚本,其中包含多个SQL select语句。现在我需要在运行批处理文件时将这些结果导出到excel表。

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

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

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

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

对于xls文件,您无法轻松完成,您可能需要经历另一种编程语言,如java或c#或任何具有特定库的编译报告(例如,对于Java Apache POI) )。

答案 2 :(得分:0)

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

希望这有帮助。