“System.Data.OleDb.OleDbException”类型的未经处理的异常在 System.Data.dll 中发生

读取表格时,出现这种错误怎么解决。
代码:
private void btnLoad_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.ShowDialog();
file.Filter = "工作表|*.xls";
string filename = file.FileName;
string constr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
//创建一个数据链接
OleDbConnection myConn = new OleDbConnection(constr);
string strCom = " SELECT * FROM [Sheet1$] ";
myConn.Open();
MessageBox.Show("已经打开");
//打开数据链接,得到一个数据集
OleDbDataAdapter da = new OleDbDataAdapter(strCom, myConn);
// DataSet对象
DataSet ds = new DataSet();
//得到自己的DataSet对象
da.Fill(ds, "[Sheet1$]");
//关闭此数据链接
myConn.Close();
dataGridView1.DataSource = ds.Tables[0];

    }



            错误:

        ![图片说明](https://img-ask.csdn.net/upload/201810/21/1540133010_49370.png)

"Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
你的excel是excel 97格式的么?如果是新版,比如excel 2007,需要用ACE12.0驱动,如果根本不是excel,比如csv格式,那么需要用别的办法读取。