實在沒有辦法了 就仔細的查看了 一下數據鏈接字符串:
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了
小疏忽導致大錯誤 ,注意啊 機器容不得半點錯誤馬虎啊
//IMEX=1 解決數字與字符混合時,識別不正常的情況
//HDR=YES 有兩個值:YES/NO,表示第一行是否字段名,默認是YES,第一行是字段名
//OLEDB的Excel的IMEX和HDR是什么意思2010-01-23 13:24HDR=NO 即無字段
//HDR=yes 即有字段,一般默認excel表中第1行的列標題為字段名,如姓名、年齡等
//還有問題IMEX有三個值0,1,2,其他兩個值分別表示什么
//IMEX 表示是否強制轉換為文本
//特別注意
// Extended Properties='Excel 8.0;HDR=yes;IMEX=1'
// A: HDR ( HeaDer Row )設置
// 若指定值為Yes,代表 Excel 檔中的工作表第一行是欄位名稱
// 若指定值為 No,代表 Excel 檔中的工作表第一行就是資料了,沒有欄位名稱
// B:IMEX ( IMport EXport mode )設置
// IMEX 有三種模式,各自引起的讀寫行為也不同,容後再述:
// 0 is Export mode
// 1 is Import mode
// 2 is Linked mode (full update capabilities)
// 我這里特別要說明的就是 IMEX 參數了,因為不同的模式代表著不同的讀寫行為:
// 當 IMEX=0 時為“匯出模式”,這個模式開啟的 Excel 檔案只能用來做“寫入”用途。
// 當 IMEX=1 時為“匯入模式”,這個模式開啟的 Excel 檔案只能用來做“讀取”用途。
// 當 IMEX=2 時為“連結模式”,這個模式開啟的 Excel 檔案可同時支援“讀取”與“寫入”用途。
//意義如下:
//0 ---輸出模式;
//1---輸入模式;
//2----鏈接模式(完全更新能力
