找不到可安裝的ISAM


讀取excel數據 到 datagrid 出現:找不到可安裝的ISAM       錯誤:
 
實在沒有辦法了 就仔細的查看了 一下數據鏈接字符串:
 string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Dir + "\\"+fileName + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;"; 

有對照了http://www.connectionstrings.com/ 上的實例發現字符串寫法錯誤;漏了分號。

改為:
 string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Dir + "\\"+fileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";    就ok了 

 

EXCEL導入時,同一列中有數據和字符類型,出現導漏數據問題

這個是數據庫驅動的原因造成的,你可以在數據庫連接字符串中加上"IMEX=1",如:strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + Path + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'";
說明:HDR=表示數據有無標題行(yes/no),IMEX=1通知驅動程序始終將“互混”數據列作為文本讀取,在這里需要清楚的是,系統在判斷該字段(列)到底是數值還是文本時,是通過該列的前8條記錄是否有文本數據,有則該列作為文本讀取,否則,即使后面的記錄有文本,也還是按數值讀取(導致文本為空)。
修改“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel”下的TypeGuessRows注冊表值,可以將其改大些,如1000,這樣在1000條記錄前只要有文本,就不會出現文本為空的現象,具體情況要視你的數據而定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM