任何人都可以帮我在Oracle的Excel中为不同的查询将数据假脱机到不同的表格中。
查询1 - >工作表Sheet
QUERY2 - > Sheet 2中
QUERY3 - >表Sheet 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;