0

有什么方法可以将 Oracle 表中的数据提取到 Excel 中的多个工作表中?

例如:我有两张桌子checkpointshold. 我想要数据 from checkpointsto go tosheet1MS exceldata from holdto go to sheet2

这可以在oracle中实现吗?

Oracle version: Oracle 11G

  • 编辑: 我想使用 PL/SQL 来实现它。此代码将作为批处理作业执行。
4

3 回答 3

4

如果您要生成的电子表格非常简单(即只有包含数据的单元格和多张工作表),您可以尝试Alexandria PL/SQL 库中的 Excel 生成 API - 只需抓取XLSX_BUILDER_PKG及其依赖项(我认为没有很多) 它应该可以完成这项工作。

我自己用它来生成 XLSX 格式的简单电子表格,并且全部使用 PL/SQL。它以 BLOB 形式返回结果,如果您需要数据库服务器上的结果,库中有另一个例程用于使用 UTL_FILE 将其吐出。

于 2013-02-05T05:07:59.667 回答
0

当然这是可能的,但这取决于您希望如何完成。

1) 如果您有报告工具(Jasper Reports、Oracle BI),您可以使用该工具创建报告并导出数据。

2) 如果您有开发工具(Toad、SQL Developer),您可以“手动”导出这两个表。

3) 如果您知道如何编写代码,那么您可以使用 API 创建 Excel 文件并用数据填充它。您可以使用 PL/SQL、PHP、C、C++ 或几乎任何其他语言,它只需要一个 Oracle API 和一个 Excel API。

于 2013-02-04T16:03:53.263 回答
-2

有一个 PL/SQL 包可以创建带有多个工作表的 Excel 文档,并将 SQL 查询中的数据放到单独的工作表中。

请看下面的例子:

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; 

您可以在此处找到更多详细信息: http ://www.oraexcel.com/examples/pl-sql-excel-query-to-sheet-export

于 2014-01-09T14:01:15.213 回答