访问Excel数据表时出错
本文关键字:出错 数据表 Excel 访问 | 更新日期: 2023-09-27 17:58:04
我必须从excel工作表中访问数据,但在将数据(从excel)复制到数据集时遇到问题
try
{
string strPath = FileName;
DataSet ds = new DataSet();
string sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; " + "Data Source=" + strPath + "; " + "Extended Properties=Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [" + TableName + "] ", objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
objAdapter1.Fill(ds);
objAdapter1.Dispose();//DEBUGGER SKIP FROM HERE
objConn.Close();
return ds.Tables[0];
}
catch (Exception ex)
{
//Log your exception here.//
return (DataTable)null;//AND THEN JUMP TO HERE
}
问题是,在调试时,第objAdapter1.Fill(ds);
行之后,调试器跳过了剩余的一行,当然数据集返回null,请帮助。
连接字符串中的扩展属性必须用双引号括起来。尝试以下行:
string sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; " +
"Data Source=" + strPath + "; " +
"Extended Properties='"Excel 8.0;'"";