我有一個Oracle 10G數據庫,我需要編寫一個相當簡單的查詢,它連接兩個表並選擇一些數據。但是,我想將結果列表導出爲excel,因此最終用戶可以使用此.xls文檔查看結果並按字段之一(位置)篩選excel中的Oracle查詢輸出
當我編寫查詢時,是否存在一個簡單的方法,我可以生成/創建一個可以保存上述結果的Excel文檔? SQL不需要從excel內運行,但我想現在我認爲這將是一個有用的功能! 謝謝。
我有一個Oracle 10G數據庫,我需要編寫一個相當簡單的查詢,它連接兩個表並選擇一些數據。但是,我想將結果列表導出爲excel,因此最終用戶可以使用此.xls文檔查看結果並按字段之一(位置)篩選excel中的Oracle查詢輸出
當我編寫查詢時,是否存在一個簡單的方法,我可以生成/創建一個可以保存上述結果的Excel文檔? SQL不需要從excel內運行,但我想現在我認爲這將是一個有用的功能! 謝謝。
有您的要求簡單的解決方案。
通過使用ora_excel,生成Excel xlsx文件的小型pl/sql包,您可以選擇數據並將所選數據導出到Excel並設置過濾。
請看下面的例子:
BEGIN
ORA_EXCEL.new_document;
ORA_EXCEL.add_sheet('My sheet');
ORA_EXCEL.query_to_sheet('select * from employees'); -- Select data from database
ORA_EXCEL.set_cells_filter('A1', 'K1'); -- Add cell filtering from column A1 to column K1
-- Save generated Excel to file with name example.xlsx to Oracle folder EXAMPLE_XLSX
ORA_EXCEL.save_to_file('EXPORT_DIR', 'example.xlsx');
END;
欲瞭解更多詳情,請查看here
乾杯
如果我做了幾個query_to_sheet,以前的數據會被覆蓋,還是將來自下一個查詢的數據放在下一行? – SaintLike 2016-05-05 14:52:07
在Excel中很容易做到;完成後用戶可以右鍵單擊數據並說「刷新」以獲取最新更新。
但爲什麼推倒重來很多網上的文章已經介紹瞭如何做到這一點...這裏有一個
http://blog.mclaughlinsoftware.com/microsoft-excel/how-to-query-oracle-from-excel-2007/
您連接到了表之後,就可以連接上編輯屬性並輸入自定義的SQL(複製並從開發者工具粘貼)
不幸的是我被困在Excel 2003中。我想我應該可以使用sql開發者將結果導出到excel文檔中。 – GrumP 2012-08-03 13:17:36
快速路:
首先創建一個包含您的查詢(因爲你可能需要在以後更改此查詢的最佳方式)的圖。
一定要正確安裝oracle客戶端。
從其他來源 - >從數據連接嚮導 - > Microsoft數據訪問 - OLE DB提供程序的Oracle
現在輸入您的數據源名稱(tnsnames.ora中存儲)和用戶密碼
找到您查看,然後你就會有你需要的東西。
您可以保存密碼並設置選項以在連接屬性中自動刷新。
你可以做一件事。
我通常使用你的方法!因爲它在性能上更好。(Excel表更新速度慢!) – hmmftg 2012-08-04 18:00:47
沒錯。這種方式快得多。 – 2012-08-06 05:25:43
由於您不能在您的Excel版本中使用OLE DB。使用SPOOL
創建一個CSV文件。
SQL> SET echo off
SQL> SET verify off
SQL> SET colsep ,
SQL> SET pagesize 0
SQL> SET trimspool on
SQL> SET feedback off
SQL> SPOOL ON
SQL> SPOOL C:\data.csv
SQL> SELECT COLUMN1,COLUMN2,COLUMN3....
FROM TABLE;
SQL> SPOOL OFF
.csv
文件應該在Excel中默認打開。使用正確的列別名,以便用戶瞭解列標題。
您可以直接從Excel 2003查詢Oracle數據庫,但是,您的SQL語句由MS Query解釋,因此通常會令人沮喪。我將假定有問題的機器已經有能力查詢你的數據庫並且已經正確配置了數據庫的命名。
從Excel 2003,你必須查詢數據庫:
安裝和配置Oracle的ODBC驅動程序(您必須安裝32位的驅動程序,因爲excel03是32位應用程序)。 ODBC可以配置在開始>管理工具> ODBC數據源管理員
打開excel 2003並轉到數據>導入外部數據>新的數據庫查詢。
這應該調出MS Query這是一個類似於Access的界面。
很明顯,這是一個非常簡短的開端,讓你踏上正確的方向。如果您有任何具體問題,請發表評論,我會盡力幫助您。
你可以選擇一個答案嗎? – hmmftg 2012-08-19 11:52:36