C#讀取Excel遇到無法讀取的解決方法
C#讀取Excel問題的發現:因為寫了一個根據Excel數據字典生成SQL腳本的工具,開發過程中遇到一些小問題。
無法讀取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,就可以解這個問題了!
C#讀取Excel遇到無法讀取的解決方法的相關內容就向你介紹到這里,希望對你學習C#讀取Excel有所幫助。
【編輯推薦】