Oracle匯出資料為excel或文字檔案

2021-08-29 19:28:53 字數 1623 閱讀 7040

將oracle中表的資料匯出為excel檔案儲存,在網上看了很多方法,總的來說有兩種。

一是運用excel工具中通過odbc連線oracle資料庫,將文字匯出。

一是通過oracle的命令匯出。基本上想運用各種第三方工具之類的。如:pl/sql developer 先查詢再將結果存為excel或者copy進excel中。

先來說說第乙個方法,此方法可行但是有條件限制。如果匯出的資料超過65535條就不行。而且這也是excel能開啟的最大上限,超過這個數excel也不會裝載成功。

方法是在excel中「資料」--「匯入資料」,可以選擇新建乙個資料來源配置好資料連線的引數。也可以選擇資料庫查詢。這個需要先在資料來源中建好odbc的資料來源driver。連線上後,選擇需要匯出的表,查詢,將結果匯入excel中即可。資料量小是此方法非常方便。

第二個方法也是需要先查詢出來再儲存。如果資料庫的快取設定過小的話,返回的資料量會小,資料量大的話此方法也行不通。

後來在網上看到乙個小工具,別人開發的。對7,80多萬的資料匯出成文字也只要十幾秒。

非常好。

下面是使用的命令:

usage: ociuldr user=... query=... field=... record=... file=...

notes:

-si = enable logon as sysdba

user = username/password@tnsname

sql = sql file name, one sql per file, do not include ";"

query = select statement

field = seperator string between fields

record= seperator string between records

file = output file name(default: uldrdata.txt)

read = set db_file_multiblock_read_count at session level

sort = set sort_area_size & sort_area_retained_size at session level (unit:mb)

hash = set hash_area_size at session level (unit:mb)

serial= set _serial_direct_read to true at session level

trace = set event 10046 to given level at session level

for field and record, you can use '0x' to specify hex character code,

\r=0x0d \n=0x0a |=0x7c ,=0x2c \t=0x09

用","來作為欄位間的分隔符, 用換行作為記錄的分隔符:

e:\tools\developtool\ociuldr>ociuldr user=test/test@mydb query="select * from bxlmchain_raw_n" field=, record=0x0a file=bxlmchain_raw.txt

大家可以試一試看。速度和質量確實很好。

將DataGrid中的資料匯出為Excel的方法

utils.cs 檔案內容 using system using system.data using system.configuration using system.web using system.web.security using system.web.ui using system.we...

wpf datagrid資料 匯出到excel

public static void exporttoexcel datagrid datagridview1,string sheetname 不允許datagridview顯示新增行,負責匯出時會報最後一行未例項化錯誤 false hssfworkbook workbook new hssfwo...

VC匯出CListCtrl資料到Excel兩種方法

vc匯出clistctrl資料到excel兩種方法 方法1 使用mfc的cdatabase類直接執行sql命令的方式實現 在檔案中包含標頭檔案 include include include void exportlisttoexcel clistctrl plist,cstring celfile...