您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何解決C#讀取Excel遇到無法讀取的問題”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何解決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遇到無法讀取的問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。