2013-10-21 71 views
0

如何使用過程來運行導出到Excel電子表格的選擇? 使用PL/SQL - Oracle 11g如何使用過程來運行導出到Excel電子表格的選擇?

我們目前有人將粘貼信息複製到電子表格中,用於測試每個版本。我試圖將他們的所有陳述轉換爲一個可以爲他們運行的程序,而不是浪費時間來粘貼。

+2

是否需要將數據寫入實際的.xlsx/.xls文件,或者將數據寫入可以在Excel中打開的.csv文件就足夠了?我問的原因是做後者要容易得多。雖然我聽說過由第三方編寫的庫來執行此操作,但我並不知道直接寫入Excel的功能。 – ChrisProsser

+2

您可以在單獨的報告架構中創建一個視圖,以便用戶可以使用ODBC連接通過Excel連接到該架構嗎? – Starfighter

+0

YEs .csv文件可以。 – Werbel

回答

1

有了你可以有你的整個一套表格的下面簡單的查詢轉換爲XML,一個CLOB每個表:

SELECT DBMS_XMLQUERY.getxml('select * from ' || table_name) 
FROM user_tables; 

DBMS_XMLQUERY有很多選項來控制格式的包,但你可以很在文件上寫下XML(使用自定義客戶端,或直接由PLS UTL_FILE),電子表格區域可以導入它們。

+0

我需要的是從許多表中創建一個結果集。我仍然可以以某種方式使用這種聲明嗎? – Werbel

+1

是的,你可以簡單地創建一個UNION:使用GETXML函數的查詢是通用的。 返回當前架構中所有表和視圖的名稱聯合的示例: SELECT DBMS_XMLQUERY.getxml('從user_tables中選擇table_name UNION從user_views中選擇view_name')FROM DUAL – dbra

相關問題