實現(xiàn)預(yù)處理或多表的excel文件數(shù)據(jù)批量導(dǎo)入方法

實現(xiàn)預(yù)處理或多表的excel文件數(shù)據(jù)批量導(dǎo)入方法

ID:24014173

大?。?2.00 KB

頁數(shù):4頁

時間:2018-11-12

實現(xiàn)預(yù)處理或多表的excel文件數(shù)據(jù)批量導(dǎo)入方法_第1頁
實現(xiàn)預(yù)處理或多表的excel文件數(shù)據(jù)批量導(dǎo)入方法_第2頁
實現(xiàn)預(yù)處理或多表的excel文件數(shù)據(jù)批量導(dǎo)入方法_第3頁
實現(xiàn)預(yù)處理或多表的excel文件數(shù)據(jù)批量導(dǎo)入方法_第4頁
資源描述:

《實現(xiàn)預(yù)處理或多表的excel文件數(shù)據(jù)批量導(dǎo)入方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、實現(xiàn)預(yù)處理或多表的Excel文件數(shù)據(jù)批量導(dǎo)入方法  系統(tǒng)的測試資料數(shù)據(jù)錄入是系統(tǒng)數(shù)據(jù)流的入口,因此十分重要。在某油氣田測試平臺中錄入油氣井測試資料數(shù)據(jù)時,面臨兩個問題:第一由于每個測試項目的子作業(yè)工序很多,;第二是由于測試項目中某些作業(yè)工序的測試數(shù)據(jù)非常多,如果在作業(yè)工序中采用逐條數(shù)據(jù)記錄添加的方式,這樣既容易出錯效率又低?! 默F(xiàn)有的油氣井測試資料來看,測試作業(yè)中業(yè)務(wù)流程的測試數(shù)據(jù)大多數(shù)都是采用二維表格的形式儲存的,下邊介紹兩種數(shù)據(jù)導(dǎo)入方法的設(shè)計思路和實現(xiàn),分別是實現(xiàn)預(yù)處理的批量數(shù)據(jù)導(dǎo)入方法和多表的Excel文件數(shù)據(jù)批量導(dǎo)入方法。  1傳統(tǒng)的數(shù)據(jù)批量導(dǎo)入方法  傳統(tǒng)的數(shù)

2、據(jù)批量導(dǎo)入方法主要有SQL的DTS工具導(dǎo)入、第三方數(shù)據(jù)軟件導(dǎo)入、SQL語句數(shù)據(jù)導(dǎo)入和編寫數(shù)據(jù)導(dǎo)入代碼等方法。通過幾種方法的對比得出編寫數(shù)據(jù)批量導(dǎo)入代碼方法相對而言更加適合用戶,程序員將導(dǎo)入代碼直接封裝在程序中,用戶直接在系統(tǒng)中操作界面即可完成,但是這種方法也暴露出了很多缺點:第一,數(shù)據(jù)導(dǎo)入中的尋找和匹配字段問題;第二,對導(dǎo)入的數(shù)據(jù)全角半角和數(shù)據(jù)類型判斷的問題;第三,數(shù)據(jù)導(dǎo)入失敗之后無法給用戶提供出錯信息。針對該方法中出現(xiàn)的問題,系統(tǒng)設(shè)計了一種實現(xiàn)預(yù)處理的批量數(shù)據(jù)導(dǎo)入方法,該方法解決了在以上的方法中暴露的缺點,真正地解決了批量數(shù)據(jù)導(dǎo)入的問題?!   ?實現(xiàn)預(yù)處理的數(shù)據(jù)批量導(dǎo)

3、入方法  實現(xiàn)預(yù)處理的數(shù)據(jù)批量導(dǎo)入方法的設(shè)計思路是:將Excel數(shù)據(jù)上傳到服務(wù)器的臨時目錄中,連接Excel,以Excel文件作為數(shù)據(jù)源,將Excel中的數(shù)據(jù)讀取到數(shù)據(jù)集DataSet中之后,對數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行檢查,如果Excel數(shù)據(jù)文件的結(jié)構(gòu)與數(shù)據(jù)庫對應(yīng)表的結(jié)構(gòu)不一致提示用戶出錯,否則檢查數(shù)據(jù)的數(shù)據(jù)類型和全角半角是否符合要求,判斷的方法是采用正則表達(dá)式對每個單元格的數(shù)據(jù)進(jìn)行判斷,如果數(shù)據(jù)是全角輸入或者數(shù)據(jù)類型不符合,將此條數(shù)據(jù)寫入到日志文件中,然后繼續(xù)判斷下邊的數(shù)據(jù),當(dāng)所有的數(shù)據(jù)檢查完成之后將日志文件返回給用戶進(jìn)行修改并自動刪除上傳到服務(wù)器臨時目錄里邊的Excel文件

4、。當(dāng)用戶修改完數(shù)據(jù)之后再導(dǎo)入一次,如果沒有返回給用戶日志文件則說明導(dǎo)入的數(shù)據(jù)完全符合要求,此時就可以將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中,具體的設(shè)計流程如圖1所示?! ?)系統(tǒng)中設(shè)計了上傳Excel文件樣例。設(shè)計的目的是方便用戶根據(jù)樣例設(shè)置需要導(dǎo)入數(shù)據(jù)的格式,避免后邊因為格式出現(xiàn)重復(fù)修改?! ?)導(dǎo)入數(shù)據(jù)的格式設(shè)置好之后,將Excel文件上傳到服務(wù)器規(guī)定的目錄下,并將Excel數(shù)據(jù)讀取到數(shù)據(jù)集DataSet中。如果DataSet中數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫對應(yīng)表的結(jié)構(gòu)不一致,提示用戶出錯退出系統(tǒng)。  3)對數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行預(yù)處理,具體步驟如下。 ?、俣x一個布爾型的標(biāo)志位,便于判斷數(shù)據(jù)是否合格。

5、上傳的Excel數(shù)據(jù)全部檢查通過此標(biāo)志位不改變值,導(dǎo)入數(shù)據(jù)中出現(xiàn)不合格的情況就改變該標(biāo)志位的值?! 、诶谜齽t表達(dá)式判斷DataSet中數(shù)據(jù)的數(shù)據(jù)類型和全角半角,所檢查的當(dāng)前行中有數(shù)據(jù)類型不符合或者數(shù)據(jù)出現(xiàn)全角的情況,將此條數(shù)據(jù)記錄寫入到日志文件中,提示用戶修改。然后繼續(xù)下邊數(shù)據(jù)的檢查,利用這種方式將所有的數(shù)據(jù)檢查完畢。 ?、叟袛鄻?biāo)志位的值是否發(fā)生改變,如果值沒有發(fā)生改變,將說明全部數(shù)據(jù)檢查通過,則可以把數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中;如果值發(fā)生改變,則說明有些數(shù)據(jù)不合格,則需要把日志文件返回給用戶以便用戶進(jìn)行修改,并且將服務(wù)器規(guī)定目錄中的Excel文件刪除。 ?、苡脩魧?shù)據(jù)修改好之

6、后將數(shù)據(jù)繼續(xù)上傳,然后進(jìn)行預(yù)處理檢查,直到所有的數(shù)據(jù)檢查合格為止,預(yù)處理詳細(xì)的流程如圖2所示?!   ?)所有的數(shù)據(jù)檢查通過之后,將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中,并輸出一個Excel數(shù)據(jù)導(dǎo)入報告,報告中統(tǒng)計空行和成功導(dǎo)入的行數(shù)如果數(shù)據(jù)集中數(shù)據(jù)整行為空的話,則不插入到數(shù)據(jù)庫中,并將此行數(shù)寫入到報告中,提示此行跳過;如導(dǎo)入的數(shù)據(jù)某一行的某個單元格為空,則數(shù)據(jù)表中相應(yīng)的表格輸入null,至此測試數(shù)據(jù)導(dǎo)入成功?! 〔捎眠@種方法的好處是用戶在真正將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫之前就可以對導(dǎo)入數(shù)據(jù)的合法性進(jìn)行檢查,只有數(shù)據(jù)全部檢查通過之后才會將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中,通過這種預(yù)處理的方法就可以避免數(shù)據(jù)導(dǎo)入的重

7、復(fù)性,通過返回日志文件的方式用戶就可以知道出錯的具體原因從而進(jìn)行修改?! ?多表的Excel文件數(shù)據(jù)批量導(dǎo)入方法  多表的Excel文件數(shù)據(jù)批量導(dǎo)入方法的設(shè)計思路是:構(gòu)造一個從Excel文件到數(shù)據(jù)庫對應(yīng)表的映射關(guān)系,映射關(guān)系包括兩個,一個是Excel文件中每個工作表映射數(shù)據(jù)庫中對應(yīng)的表,另一個是工作表的每一列映射數(shù)據(jù)表中相應(yīng)的字段。然后將需要導(dǎo)入的工作表表名和表中的內(nèi)容與數(shù)據(jù)庫中的表名和表中字段的對應(yīng)關(guān)系寫入到一個映射關(guān)系實例化的對象中,通過構(gòu)造一個數(shù)據(jù)上傳的類,在類中將之前的實例化對象存放到定義的變量中,然后通過客戶端發(fā)出的

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。