在上传Excel文件时,获取Oledbexception – 是否定义了许多字段?

我正在上传一张有5张表格的Excel。 上传时,我得到错误“太多的领域定义”

public DataSet ExportQCCheckData(string filepath) { string path = filepath; OleDbConnection con; System.Data.DataTable dt = null; //Connection string for oledb string conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + "; Extended Properties='Excel 8.0;IMEX=1;'"; con = new OleDbConnection(conn); try { con.Open(); //get the sheet name in to a table dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); String[] excelsheets = new String[dt.Rows.Count]; int i = 0; //using foreach get the sheet name in a string array called excelsheets[] foreach (DataRow dr in dt.Rows) { excelsheets[i] = dr["TABLE_NAME"].ToString(); i++; } DataSet ds = new DataSet(); int cnt = 0; foreach (string temp in excelsheets) { if (temp == "BASIC$" || temp == "SHORT$" || temp == "CLASS$" || temp == "MEMO$" || temp == "SOURCE$") { string query = "select * from [" + temp + "]"; OleDbDataAdapter adp = new OleDbDataAdapter(query, con); adp.Fill(ds, temp); cnt++; } } if (cnt != 5) { ds = null; } return ds; } catch (Exception ex) { Console.Write(ex.Message); DataSet ds = null; return ds; } finally { con.Close(); } } 

错误属于excel表格上的字段数量,请加excel表格。 您需要validationExcel表单不包含很多列

这个问题是由于excel包含了很多列。 所以我这样做意味着,只要select所有的空单元格

控制 –

然后我上传Excel表,它上传。