在Excel中将数据假脱机到不同的表格中

时间:2011-06-13 13:59:16

标签: database oracle oracle10g

任何人都可以帮我在Oracle的Excel中为不同的查询将数据假脱机到不同的表格中。

查询1 - >工作表Sheet
QUERY2 - > Sheet 2中
QUERY3 - >表Sheet 3

由于

3 个答案:

答案 0 :(得分:1)

一位名叫杰森贝内特的人有一个名为ExcelDocumentType的包裹。除了下载之外,Haven还做了很多,但它看起来很有希望。

答案 1 :(得分:1)

我开发了ORA_EXCEL www.oraexcel.com,这是一个可以用工作表创建Excel文档的Oracle PL / SQL包。

将根据您的问题创建包含数据的Excel文档的代码:

BEGIN  
   ORA_EXCEL.new_document; 

   -- Sheet 1
   ORA_EXCEL.add_sheet('Sheet1');
   ORA_EXCEL.add_row;
   ORA_EXCEL.set_cell_value('A', 'Id');
   ORA_EXCEL.set_cell_value('B', 'First name');
   ORA_EXCEL.set_cell_value('C', 'Last name');      
   FOR rec IN(SELECT * FROM table1) LOOP
       ORA_EXCEL.add_row;
       ORA_EXCEL.set_cell_value('A', red.id);
       ORA_EXCEL.set_cell_value('B', red.first_name);
       ORA_EXCEL.set_cell_value('C', red.last_name);
   END LOOP;

   --Sheet 2      
   ORA_EXCEL.add_sheet('Sheet2');
   ORA_EXCEL.add_row;
   ORA_EXCEL.set_cell_value('A', 'Id');
   ORA_EXCEL.set_cell_value('B', 'First name');
   ORA_EXCEL.set_cell_value('C', 'Last name');      
   FOR rec IN(SELECT * FROM table2) LOOP
       ORA_EXCEL.add_row;
       ORA_EXCEL.set_cell_value('A', red.id);
       ORA_EXCEL.set_cell_value('B', red.first_name);
       ORA_EXCEL.set_cell_value('C', red.last_name);
   END LOOP;

   -- Sheet 3
   ORA_EXCEL.add_sheet('Sheet3');
   ORA_EXCEL.add_row;
   ORA_EXCEL.set_cell_value('A', 'Id');
   ORA_EXCEL.set_cell_value('B', 'First name');
   ORA_EXCEL.set_cell_value('C', 'Last name');      
   FOR rec IN(SELECT * FROM table3) LOOP
       ORA_EXCEL.add_row;
       ORA_EXCEL.set_cell_value('A', red.id);
       ORA_EXCEL.set_cell_value('B', red.first_name);
       ORA_EXCEL.set_cell_value('C', red.last_name);
   END LOOP;      

   -- EXPORT_DIR is Oracle directory
   ORA_EXCEL.save_to_file('EXPORT_DIR', 'example.xlsx');
END;

答案 2 :(得分:0)

我已经升级了包,所以现在您可以通过以下方式将查询导出到工作表:

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');

    ORA_EXCEL.add_sheet('Locations');
    ORA_EXCEL.query_to_sheet('select * from locations');

    ORA_EXCEL.save_to_file('EXPORT_DIR', 'example.xlsx');
END;