C#讀取Excel遇到沒法讀取的解決方法

C#讀取Excel遇到沒法讀取的解決方法:
1.在導入數據鏈接字符串中,將IMEX=1加入,「Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Data.xls";Extended Properties="Excel 8.0;HDR=Yes;IMEX=1; 」,這樣就能夠。
C#讀取Excel須要注意的:
IMEX=1:混合模式
HDR=Yes; 是否讓第一行做爲列頭
二者必須一塊兒使用。
本覺得這樣就OK了。
但在實際使用過程當中,這樣設置仍是不行,查閱了很多資料才發現,原來還有一個註冊表裏的信息須要修改,
這樣帶能讓excel再也不使用前8行的內容來肯定該列的類型。
C#讀取Excel之註冊表修改內容以下:
在HKLM\Software\Microsoft\Jet\4.0\Engines\Excel有一個TypeGuessRows值,預設是8,表示會先讀取前8列來決定每個欄位的型態,因此若是前8列的資料都是數字,到了第9列之後出現的文字資料都會變成null,因此若是要解決這個問題,只要把TypeGuessRows機碼值改爲0,就能夠解這個問題了!ide

相關文章
相關標籤/搜索