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();

問題就出在連接字符串上面,后面一定要加上Extended Properties='Excel 8.0;HDR=NO;IMEX=1'。

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

 

參數HDR的值:
HDR=Yes,這代表第一行是標題,不做為數據使用 ,如果用HDR=NO,則表示第一行不是標題,做為數據來使用。系統默認的是YES

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

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----鏈接模式(完全更新能力)


免責聲明!

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



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