Microsoft.Jet.OLEDB.4.0讀取EXCEL數據

用Microsoft.Jet.OLEDB.4.0讀取EXCEL數據的代碼是這樣的:
     string ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/aa.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
    OleDbConnection Conn=new OleDbConnection(ConnStr);
   Conn.Open();
   string SQL="select * from [sheet1$]";
   OleDbDataAdapter da=new OleDbDataAdapter(SQL,ConnStr);
   DataSet ds=new DataSet();
   da.Fill(ds);
   DataGrid1.DataSource=ds;
   DataGrid1.DataBind();app

問題就出在鏈接字符串上面,後面必定要加上Extended Properties='Excel 8.0;HDR=NO;IMEX=1'。ide

HDR=YES 有兩個值:YES/NO,表示第一行是否字段名,默認是YES,第一行是字段名   
IMEX=1 解決數字與字符混合時,識別不正常的狀況.spa

 

參數HDR的值:
HDR=Yes,這表明第一行是標題,不作爲數據使用 ,若是用HDR=NO,則表示第一行不是標題,作爲數據來使用。系統默認的是YES字符串

參數Excel 8.0
對於Excel 97以上版本都用Excel 8.0string

IMEX ( IMport EXport mode )設置it

  IMEX 有三種模式:io

  0 is Export modedate

  1 is Import modeselect

  2 is Linked mode (full update capabilities)數據

  我這裏特別要說明的就是 IMEX 參數了,由於不一樣的模式表明著不一樣的讀寫行爲:

  當 IMEX=0 時爲「匯出模式」,這個模式開啓的 Excel 檔案只能用來作「寫入」用途。

  當 IMEX=1 時爲「匯入模式」,這個模式開啓的 Excel 檔案只能用來作「讀取」用途。

  當 IMEX=2 時爲「連結模式」,這個模式開啓的 Excel 檔案可同時支援「讀取」與「寫入」用途。

意義以下:

0 ---輸出模式;
1---輸入模式;
2----連接模式(徹底更新能力)

相關文章
相關標籤/搜索