C# excel导入数据
运行时报错:Microsoft Office Access 数据库引擎找不到对象“@NAME”。请确定该对象存在,并正确瓶邪其名称和路径名。 求高手帮忙
private void Btn_导入_Click(object sender, EventArgs e)
{
if (gridResult == null) return;
// gridResult.Init(bga.db);
gridResult.CurrentDataSet.Tables[0].Clear();//清空数据
DataTable dt_result=gridResult.CurrentDataSet.Tables[0].Clone();
OleDbConnection conn = null;
DataTable dt = new DataTable();
string connectionString = string.Empty;
string filepath = GetStr();
string strSheetName = "";
if (filepath != "" || filepath.Length > 0)
{
try
{
conn = new OleDbConnection(filepath);
conn.Open();
System.Data.DataTable dtTemp = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]{null,null,null});
strSheetName = dtTemp.Rows[0][2].ToString().Trim();
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [@NAME]", conn);
OleDbParameter p = new OleDbParameter();
p.ParameterName = "NAME";
p.OleDbType = OleDbType.VarChar;
p.Value = strSheetName;
oada.SelectCommand.Parameters.Add(p);
oada.Fill(dt);
conn.Close();
int num = 0;
for (int i = 0; i < gridResult.GetGridView.Columns.Count; i++)
{
if (gridResult.GetGridView.Columns[i].Visible == true)
{
num++;
}
}
if (dt.Columns.Count != num)
{
XtraMessageBox.Show("导入的Excel数据与数据框不匹配,请重新导入!", "提示");
return;
}
FillDate(dt);
XControl.bga_grid.gridResult = null;
this.Dispose();
this.Close();
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message+" 请重新选择Excel版本");
return;
}
}
}