c# 读取excel时报错:外部表不是预期的格式

c# 读取excel时报错:外部表不是预期的格式

/// <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)

你可能感兴趣的