【发布时间】:2014-01-30 10:44:28
【问题描述】:
OpenFileDialog ofImport = new OpenFileDialog();
ofImport.Title = "Select file";
ofImport.InitialDirectory = @"c:\";
ofImport.FileName = txtFileName.Text;
ofImport.Filter = "Excel Sheet(*.xlsx)|*.xlsx|All Files(*.*)|*.*";
ofImport.FilterIndex = 1;
ofImport.RestoreDirectory = true;
if (ofImport.ShowDialog() == DialogResult.OK)
{
string path = System.IO.Path.GetFullPath(ofImport.FileName);
string query = "SELECT * FROM Customer.xlsx";
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ofImport.FileName+";Extended Properties=" + "\"Excel 12.0 Xml;HDR=YES;IMEX=1\"";
OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);
//DataSet dataSet = new DataSet();
adapter.Fill(dsSource);
dataGridView1.DataSource = dsSource;
}
else
{
ofImport.Dispose();
}
我想使用 dataset 将 Excel 数据检索到 DataGridView。 dsSource 是使用的数据集。
我得到的错误是在线adapter.Fill(dsSource);:
Microsoft Access 数据库引擎找不到对象“xlsx”。 确保对象存在并且拼写它的名称和路径 正确命名。如果“xlsx”不是本地对象,请检查您的网络 连接或联系服务器管理员。
我可以选择文件,但它没有填写数据集。
怎么办?
【问题讨论】:
标签: c# excel datagridview