将两个表的数据导出到带有两个工作表的单个Excel中
我正在使用Oracle数据库,我需要使用SQL脚本将两个表中的数据导出到一个Excel文件中,该文件包含两个工作表。我使用以下代码在“final_output.xls”文件中创建两个工作表,方法是引用名为“Source1.xls”和“Source2.xls”的两个独立xls文件。但使用此方法的缺点是最终输出文件依赖于其引用。如果任何源文件被删除,则不会显示任何数据 是否有任何方法可以使用SQL脚本将两个表的数据直接填充到单个excel文件的两个工作表中?请注意,因为我必须为客户使用它,所以我不能使用任何第三方工具或任何未经许可的代码将两个表的数据导出到带有两个工作表的单个Excel中,excel,oracle,export-to-excel,Excel,Oracle,Export To Excel,我正在使用Oracle数据库,我需要使用SQL脚本将两个表中的数据导出到一个Excel文件中,该文件包含两个工作表。我使用以下代码在“final_output.xls”文件中创建两个工作表,方法是引用名为“Source1.xls”和“Source2.xls”的两个独立xls文件。但使用此方法的缺点是最终输出文件依赖于其引用。如果任何源文件被删除,则不会显示任何数据 是否有任何方法可以使用SQL脚本将两个表的数据直接填充到单个excel文件的两个工作表中?请注意,因为我必须为客户使用它,所以我不能
spool final_output.xls
prompt <HTML xmlns:x="urn:schemas-microsoft-com:office:excel">
prompt <HEAD>
prompt <meta name="Excel Workbook Frameset">
prompt <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
prompt <meta content="Excel.Sheet" name="ProgId">
prompt <meta content="Microsoft Excel 11" name="Generator">
prompt <LINK href="#ab">
prompt <LINK href="#xy">
prompt <!--[if gte mso 9]><xml>
prompt <x:ExcelWorkbook>
prompt <x:ExcelWorksheets>
prompt <x:ExcelWorksheet>
prompt <x:Name>Report</x:Name>
prompt <x:WorksheetSource HRef="Source1.xls"/>
prompt </x:ExcelWorksheet>
prompt <x:ExcelWorksheet>
prompt <x:Name>Case_Num</x:Name>
prompt <x:WorksheetSource HRef="Source2.xls"/>
prompt </x:ExcelWorksheet>
prompt </x:ExcelWorksheets>
prompt </x:ExcelWorkbook>
prompt </xml><![endif]-->
prompt </HEAD>
prompt <body>
prompt </body>
prompt </HTML>
spool off
set markup html on spool on
spool Source1.xls
set heading off
select * from T1;
spool off
spool Source2.xls
select * from T2 ;
spool off
set markup html off spool off
exit ;
您应该使用Anton Scheffer创建的AS_XLSX包。我正在使用它从数据库生成各种报告。该软件包是免费的,与Excel 2010兼容,支持多页和格式等
sheers,简单如下:
BEGIN
...
as_xlsx.clear_workbook;
as_xlsx.new_sheet ('test1');
...
as_xlsx.new_sheet ('test2');
...
as_xlsx.save (p_directory => '<your_directory>', p_filename => '<your_file>');
END;
/
查看API并尝试…有一个问题。祝你好运。