錯誤重現:
-----------------------------------------------------------------------
在匯入Excel讀取資料時,其中的一個欄位儲存的值有如下格式:"2011072014","20110Aad10","25124Adfa","例子asdfadf" 這樣的 混合了 "字母/數字/中文"資料,在Excel表格中的前 8條 或 前 8+ 條資料中的 這個列中的資料都是 由純數字組成的,如"2011072012","2011072013","2011072014",到了大於8行的時候的該列的資料群組成變成了 數字+中文 + 字母的組合,這樣就會出現取不到該列值的問題
錯誤原因:
-----------------------------------------------------------------------
Excel讀取資料列的格式 是按照每一列前8個資料的類型來判斷讀寫時的類型的。比如前8個資料有3個是字幕,5個是數字,那麼這一整列都是以數字型來讀的,類型最多的那麼不管第8條之後是什麼類型,都當作這個類型來讀取,那些字母都讀不了。
解決辦法:
-----------------------------------------------------------------------
網上搜尋到在讀取Excel時,設定:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'";
設定這個 IMEX=1 就可以解決了,我個人的實踐證明這個方法是不可行的;解決辦法是 設定列的格式為文字格式設定,你只需要在添加的前面增加一個“’”就可以了,顯示出來的就是文本樣子了,其實你在添加到儲存格的時候都在前面添加一個“’”就可以了!