專利名稱:一種數(shù)據(jù)的導(dǎo)出方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)的導(dǎo)出方法及裝置。
背景技術(shù):
隨著信息化和數(shù)字化時(shí)代的來(lái)臨,大部分重要數(shù)據(jù)都是以數(shù)據(jù)庫(kù)的方式進(jìn)行存儲(chǔ)。這樣,當(dāng)非IT專業(yè)人員對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、整合、重組和存儲(chǔ)等操作時(shí),就需要借用第三方工具將數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出成EXCEL文件,從而方便用戶對(duì)數(shù)據(jù)進(jìn)行操作。例如JAVA應(yīng)用系統(tǒng)中,要實(shí)現(xiàn)將數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出成EXCEL文件必須使用第三方工具,如Jakarta Ρ0Ι、 JExcelApi、FastExcel 等。以下為使用 Jakarta POI、JExcelApi、FastExcel 第三方工具導(dǎo)出數(shù)據(jù)庫(kù)中大量數(shù)據(jù)的測(cè)試結(jié)果如下設(shè)需要從數(shù)據(jù)庫(kù)中導(dǎo)出的數(shù)據(jù)量為110011條,每條數(shù)據(jù)條數(shù)為19個(gè)字段;將所述數(shù)據(jù)一次性全部導(dǎo)出到一個(gè)Excel文件中。使用Jakarta POI、JExcelApi、FastExcel第三方工具導(dǎo)出所述數(shù)據(jù)庫(kù)中大量數(shù)據(jù)的實(shí)際情況均報(bào)Out OfMemery (內(nèi)存溢出)錯(cuò)誤,如表所示為報(bào)Out OfMemery (內(nèi)存溢出)錯(cuò)誤時(shí),導(dǎo)出數(shù)據(jù)對(duì)應(yīng)數(shù)據(jù)庫(kù)的記錄行數(shù)
權(quán)利要求
1.一種數(shù)據(jù)的導(dǎo)出方法,其特征在于,包括 獲取目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量;根據(jù)所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量,通過(guò)輸入輸出流將數(shù)據(jù)庫(kù)中相應(yīng)數(shù)據(jù)量的數(shù)據(jù)導(dǎo)出到目標(biāo)文件。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)的導(dǎo)出方法,其特征在于,該方法還包括 通過(guò)輸入輸出流,將頭代碼文件和尾代碼文件添加到目標(biāo)文件。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)的導(dǎo)出方法,其特征在于,該方法還包括 獲取EXCEL文件的源代碼;根據(jù)所述源代碼文件,分別將所述EXCEL文件源代碼中的頭代碼與尾代碼存儲(chǔ)到頭代碼文件和尾代碼文件中。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的數(shù)據(jù)的導(dǎo)出方法,其特征在于,該方法還包括設(shè)置所述目標(biāo)文件的配置,以便動(dòng)態(tài)調(diào)整所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)的導(dǎo)出方法,其特征在于,所述根據(jù)所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量,通過(guò)輸入輸出流將數(shù)據(jù)庫(kù)中相應(yīng)數(shù)據(jù)量的數(shù)據(jù)導(dǎo)出到目標(biāo)文件的步驟, 包括所述根據(jù)所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量,按照分頁(yè)查詢的方式獲取數(shù)據(jù)庫(kù)中數(shù)據(jù);將所述獲取到的數(shù)據(jù)庫(kù)中數(shù)據(jù),通過(guò)輸入輸出流將數(shù)據(jù)庫(kù)中相應(yīng)數(shù)據(jù)量的數(shù)據(jù)導(dǎo)出到目標(biāo)文件。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)的導(dǎo)出方法,其特征在于,該方法還包括 關(guān)閉所述輸入輸出流,釋放系統(tǒng)資源。
7.一種數(shù)據(jù)的導(dǎo)出裝置,其特征在于,包括信息獲取單元,用于獲取目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量;數(shù)據(jù)導(dǎo)出單元,用于根據(jù)所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量,通過(guò)輸入輸出流將數(shù)據(jù)庫(kù)中相應(yīng)數(shù)據(jù)量的數(shù)據(jù)導(dǎo)出到目標(biāo)文件。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)的導(dǎo)出裝置,其特征在于,該裝置還包括信息添加單元,用于通過(guò)輸入輸出流,將頭代碼文件和尾代碼文件添加到目標(biāo)文件。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)的導(dǎo)出裝置,其特征在于,該裝置還包括 代碼獲取單元,用于獲取EXCEL文件的源代碼;存儲(chǔ)單元,用于根據(jù)所述源代碼文件,分別將所述EXCEL文件源代碼中的頭代碼與尾代碼存儲(chǔ)到頭代碼文件和尾代碼文件中。
10.根據(jù)權(quán)利要求7至9中任意一項(xiàng)所述的數(shù)據(jù)的導(dǎo)出裝置,其特征在于,該裝置還包括設(shè)置單元,用于設(shè)置所述目標(biāo)文件的配置,以便動(dòng)態(tài)調(diào)整所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)的導(dǎo)出裝置,其特征在于,所述數(shù)據(jù)導(dǎo)出單元,包括 數(shù)據(jù)獲取子單元,用于所述根據(jù)所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量,按照分頁(yè)查詢的方式獲取數(shù)據(jù)庫(kù)中數(shù)據(jù);數(shù)據(jù)導(dǎo)出子單元,用于將所述獲取到的數(shù)據(jù)庫(kù)中數(shù)據(jù),通過(guò)輸入輸出流將數(shù)據(jù)庫(kù)中相應(yīng)數(shù)據(jù)量的數(shù)據(jù)導(dǎo)出到目標(biāo)文件。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)的導(dǎo)出裝置,其特征在于,該裝置還包括 資源釋放單元,用于關(guān)閉所述輸入輸出流,釋放系統(tǒng)資源。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種數(shù)據(jù)的導(dǎo)出方法及裝置,涉及數(shù)據(jù)處理技術(shù)領(lǐng)域。為了解決現(xiàn)有技術(shù)中,采用第三方工具從數(shù)據(jù)庫(kù)中導(dǎo)出大量數(shù)據(jù)的過(guò)程中,系統(tǒng)需要建立較多對(duì)象,占用較多的內(nèi)存資源的問(wèn)題而發(fā)明。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)的導(dǎo)出方法,包括獲取目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量;根據(jù)所述目標(biāo)文件存儲(chǔ)數(shù)據(jù)的總數(shù)據(jù)量,通過(guò)輸入輸出流將數(shù)據(jù)庫(kù)中相應(yīng)數(shù)據(jù)量的數(shù)據(jù)導(dǎo)出到目標(biāo)文件。采用本發(fā)明實(shí)施例可以節(jié)省內(nèi)存資源,降低內(nèi)存溢出概率,提高系統(tǒng)穩(wěn)定性。
文檔編號(hào)G06F17/30GK102486772SQ20091024410
公開(kāi)日2012年6月6日 申請(qǐng)日期2009年12月29日 優(yōu)先權(quán)日2009年12月29日
發(fā)明者吉磊, 楊明, 趙東巖, 閆潔 申請(qǐng)人:北京大學(xué), 北京方正阿帕比技術(shù)有限公司, 北大方正集團(tuán)有限公司