將oracle中資料轉存到excel中
今天一個朋友問我怎麼把200萬的資料轉的excel裡,說老闆要看,而且只要excel格式的,他想到的方法就是用toad查出來在轉存到excel裡。我說那得跑到什麼時候去啊,設計到網路傳輸和資料展現,萬一中間有點什麼問題就展示不出來了。以前用ue的時候經常要把ue裡的列放到excel裡,所以知道excel的列中間分隔其實就是一個TAB,所以我想到的方法就是用spool的方式把格式化後的查詢結果記錄到文字里,因為文字已經有了excel需要的格式,所以應該是可以直接開啟的。為了確保給他的建議能用,自己測試了下
--建立測試表並插入測試資料
SQL> create table name(id int,name varchar2(30)) tablespace btest;
Table created.
SQL> insert into name select 1,'anbaisheng' from dual;
1 row created.
SQL> insert into name select 2,'xiangxiang' from dual;
1 row created.
SQL> insert into name select 3,'kong' from dual;
1 row created.
SQL> commit;
--準備指令碼1.sql
--這裡要注意的是欄位id和name之間併入的是TAB字元而不是空格
set wrap off
set linesize 5000
set trimspool on
set heading off
set feedback off
spool d:\1.xls
select id||' '||name from name;
spool off
--在sqlplus下呼叫1.sql,linux一樣,不過建議後臺執行
--這樣就會在目的位置生成xls檔案
--我的環境結果如下:
|
|
1 |
anbaisheng |
2 |
xiangxiang |
3 |
kong |
--linux下可以將類似如下程式碼放入 shell指令碼中,之後後臺執行
Sqlpus “/ as sysdba” <
Conn user/passwd
@1.sql
Exit
EOF
Exit
--補充
個人不建議大量資料一起spool到一個excel檔案中的做法,excel單個檔案貌似是有最大記錄數的限制,雖然2007支援的數量有所增加,但太大的檔案開啟也是個問題,所以建議用rownum限制下每次輸出的資料量,分多個檔案存放比較靠譜。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13177610/viewspace-687846/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 將excel中資料從window上匯入到linux中oracle資料庫ExcelLinuxOracle資料庫
- 將MYSQL中資料匯出到EXCEL表MySqlExcel
- Flume將 kafka 中的資料轉存到 HDFS 中Kafka
- 將資料庫中資料匯出為excel表格資料庫Excel
- Sql表和Excel中資料的轉移SQLExcel
- hutool去讀excel中資料Excel
- 前端讀取Excel表中資料前端Excel
- 將Excel中的資料匯入至MsSQLSERVER中(示例) (轉)ExcelSQLServer
- ASP.NET將Session儲存到資料庫中ASP.NETSession資料庫
- python中將xmind轉成excelPythonExcel
- WebUI測試-獲取html頁面表格資料並存到Excel中WebUIHTMLExcel
- 利用poi將Html中table轉為ExcelHTMLExcel
- 用java的api將資料從HDFS上存到HBASE中JavaAPI
- 轉載:利用SQL*Loader將 Excel 資料匯出到資料庫中SQLExcel資料庫
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫
- excel日期格式轉換中,怎樣將“/”轉換成“-”Excel
- 一篇文章帶你使用 Python 將 txt 文件內容儲存到 excel 表中PythonExcel
- Java 將PDF轉為HTML時儲存到流JavaHTML
- 透過spark將資料儲存到elasticsearchSparkElasticsearch
- oracle清空回收站中資料Oracle
- Oracle9i中資料移置Oracle
- JS中資料型別轉換JS資料型別
- 在ASP.NET中將資料直接輸出成Excel內容 (轉)ASP.NETExcel
- Oracle中資料塊中row number缺失(記錄,未解決)Oracle
- 用SQL Loader將Excel資料匯出到OracleSQLExcelOracle
- Java將頁面中的資料存到MySQL資料庫中,漢字變成問號JavaMySql資料庫
- Java 將Excel轉為OFDJavaExcel
- Oracle中資料字典快取V$ROWCACHEOracle快取
- 將一個實體資料儲存到不同的資料表中<EntityFramework6.0>Framework
- 使用freemarker將echarts圖片儲存到word中Echarts
- oracle資料塊中資料儲存(摘錄)Oracle
- Session儲存到指定資料庫中Session資料庫
- execl資料儲存到陣列中陣列
- 將資料庫中資料匯入至solr索引庫資料庫Solr索引
- Oracle 巧用外部表將大量excel資料匯入資料庫OracleExcel資料庫
- 利用CONCATENATE公式將Excel資料轉化為SQL公式ExcelSQL
- C# 將Excel轉為XMLC#ExcelXML
- C# 將PDF轉為ExcelC#Excel