|
本帖最后由 roych 于 2011-4-2 16:52 編輯
前幾天,版友ever035問到,如何批量導入文本文件。其實,如果屬于標準格式的話,直接用系統(tǒng)自帶的導入外部文件就可以了,不過鑒于他(她)有500多個文件,懶得點擊那么多次鼠標,Roy不妨就這個問題談談吧。
先談談導入的方法,一般不外乎以下幾種。當然,讀取文件流(TextStream),不過大家對它不太熟悉,就先避而不談吧。
1、增加查詢表(Querytable.Add)來導入。這個很簡單,大家可以錄制一個導入文件的宏,再按下Alt+F11查看就知道了。
2、打開文件號(Open FileName For Input as FileNumber#)的方式。通過對文件號的循環(huán)讀取來寫入數(shù)據(jù)!蠹铱赡軐ξ募柌惶私猓次业睦斫馐,文件號其實就是行數(shù)的排列號。當然,如果文本里本身就沒有換行的話,而是以某個字符作為換行標志的話,則應該讀取其位置作為終點(ReadOut)來判斷!f起來有些復雜,所以我也只是“淺談”而已。
3、打開文本文件(OpenText)來導入,參數(shù)很多,詳見附件。我就不再一一解說了。
4、用ADO方法。這個方法我講了N次(N>=3)了,詳見附件以及內置注釋。
現(xiàn)在來談談如何進行批量導入了:
實際上,批量導入只是對上述方法做一個循環(huán)過程罷了。為了達到批量完成的目的,一般要求所有文件應該放在同一個文件夾里。這時候,你至少可以通過兩種方法來達到目的。
1、文件系統(tǒng)組件(FileSystemObject),通過獲取文件夾(GetFold)的方法從而得到相同格式的文件。
2、文件對話框(FileDialog),通過對文件拾取器獲取路徑和文件名,從而批量導入。
兩者區(qū)別在于前者代碼較為簡單,但知道固定的(絕對或者相對)路徑;后者自由度比較大,任意路徑均可,但代碼相對復雜些。
這里的文件屬于標準格式文件。也許有網(wǎng)友會問,如果對于收銀小票之類的文件,該如何導入。Roy會輕輕地告訴你,用第二種方法,導入后再定位處理其它不需要的字符。因為行列等不固定位置,除此它法均不佳。
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?注冊
x
|