/// <summary>
/// 加载Excel - 郑州网建 Camnpr.Com
/// </summary>
/// <param name="filePath">excel文件地址</param>
/// <returns>DataSet</returns>
public static DataSet LoadDataFromExcel(string filePath)
{
try
{
string strConn;
//strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
//strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
OleConn.Close();
return OleDsExcle;
}
catch (Exception err)
{
return null;
}
}
原因:由于我的电脑上只有Excel2013,保存的格式是:*.xlsx,所以,我修改了扩展名为:.xls
当我通过上边的c#代码执行时,就报错:外部表不是预期的格式
因此,猜测是excel格式发生了变化造成的。于是,我打开这个excel,选择文件-》导出-》更改文件类型-》Excel 97-2003工作薄(*.xls)