2011-06-13 14 views

回答

1

一个小伙子叫杰森·贝内特有一个名为ExcelDocumentType包。除了下载之外,还没有做太多的工作,但看起来很有希望。

1

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

将创建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; 
+0

谢谢..让我尝试! – SSE 2011-12-13 11:38:34

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; 
相关问题