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