全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3404
推到 Plurk!
推到 Facebook!

如何用ADO讀取excel資料時,指定某欄位的資料型態?

答題得分者是:edust
YannNanTian
一般會員


發表:4
回覆:1
積分:1
註冊:2005-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-02 20:12:11 IP:203.73.xxx.xxx 訂閱
小弟遇到一個難題要請教各位大大,

如果excel中的兩行資料如下:


我用 ADOConnection ADODataSet DataSouce DBGrid 將資料顯示於 DBGrid 上時,第一行的結果變成如下圖所示:



第一行的數值會顯示不出來!

我去搜尋資料後發現這似乎是因為SQL在讀入excel檔案時,對於每一行直欄都會取它的前8筆資料(不包括 FieldName)來進行資料型態的判斷,

以多數者為主,像第一行的前八筆資料只有三筆數字,五筆是"-" (SQL應該是將它當成字串),所以抓進DBGrid 後,第一行的數字資料會loss掉,

所以想請問各位大大是否能於讀取excel檔的同時一並指定某欄位的資料型態,或是有什麼方法可以解決這個問題的,感激不盡。

(我在站上找不到相關的解答,故提問,如有op請見諒。)
edust
一般會員


發表:0
回覆:2
積分:5
註冊:2005-07-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-04 15:07:24 IP:116.21.xxx.xxx 訂閱
這樣寫連接串就可以了。
connstr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' xlsfilename
';Extended Properties=Excel 8.0; Excel 8.0; IMEX=1;Persist Security Info=False';

加了一個IMEX參數
YannNanTian
一般會員


發表:4
回覆:1
積分:1
註冊:2005-12-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-05 17:49:43 IP:140.121.xxx.xxx 訂閱
感激樓上仁兄,解我難題~~
系統時間:2024-03-29 9:36:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!