我有一个旧项目,运行正常。现在我在尝试从Excel导入时收到错误:
System.Invalidoperationexception' microsoft.jet.oledb.4.0'提供者未注册
我可以登录。我尝试将项目平台更改为x86 / x64 /任何CPU,但没有用。 我也改变了:
Provider = Microsoft.Jet.OLEDB.4.0;数据源
要
Provider = Microsoft.Jet.OLEDB.12.0;数据源
但没用。这是我导入Excel的代码:
private void button1_Click_1(object sender, EventArgs e)
{
// string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\BILL REGISTER 97.xls;Extended Properties=\"Excel 8.0;HDR=Yes;\";";
//string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtfilepath.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
string connStr = "Provider=Microsoft.Jet.OLEDB.12.0;Data Source=" + txtfilepath.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
OleDbConnection con = new OleDbConnection(connStr);
// string strCmd = "select * from [sheet1$A8:P10]";
// string strCmd = "select * from [sheet1$A8:IV65536]";
string strCmd = "select * from [sheet1$A6:IV65536]";
OleDbCommand cmd = new OleDbCommand(strCmd, con);
try
{
con.Open();
ds.Clear();
da.SelectCommand = cmd;
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
}
}
我已经安装了Office2010。
答案 0 :(得分:2)
尝试使用
Provider=Microsoft.ACE.OLEDB.12.0;Data Source
而不是
Provider=Microsoft.Jet.OLEDB.12.0;Data Source