用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字符串