filePath = @"d:\users.xls"; 
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
                    //选择Excel文件中的一个sheet,比如叫“EmployeeInfo”:
                    string strSheetName = "sheet1";
                    string strExcel = "select * from  [" + strSheetName + "$] ";
                    //打开连接,读取Excel文件中数据到Dataset中,然后关闭连接:
                    OleDbConnection conn = new OleDbConnection(strConn);
                    conn.Open();
                    OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn);
                    DataSet ds = new DataSet();
                    adapter.Fill(ds, "data");
                    conn.Close();以上代码有时能执行成功,有时又会报:

定义了过多字段。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 定义了过多字段。源错误: 
行 180:                    OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn);
行 181:                    DataSet ds = new DataSet();
行 182:                    adapter.Fill(ds, "data");
行 183:                    conn.Close();
行 184:                    SqlCommand command = null;
】不知道怎么回事,请大家帮帮忙!!