调用这个函数,传入一个excel表格和YES,会在 OleConn.Open();弹出 外部表不是预期格式,但是后台打开对应路径的表格又不会报错了这是为啥
会在 OleConn.Open();弹出 外部表不是预期格式
internal static DataSet LoadDataFromExcel(string filePath, string HDRStatus)
{
string strConn = "Provider = Microsoft.ACE.OLEDB.12.0;" + "Data Source =" + filePath + ";" + "; Extended Properties = \"Excel 12.0; HDR = YES; IMEX = 1 \"";
OleDbConnection OleConn = new OleDbConnection(strConn);
try
{
OleConn.Open();
DataSet OleDsExcle = new DataSet();
return OleDsExcle;
}
catch (Exception err)
{
MessageBox.Show(" NOT READ Excel!:" + err.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Information);
return null;
}
finally
{
OleConn.Close();
OleConn.Dispose();
}
}
你用OLEDB方式读excel表,那么excel里必须是个表格的形式,有列,有行
如果有空列,或者不是标准的n*m格而是异形表格,或者存在合并单元格,读取的时候都会报错