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

分类:.Net知识问答| 发布:camnprbubuol| 查看: | 发表时间:2015/7/30

读取Excel(扩展名是.xls)的c#代码如下:

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

导出转换excel类型:c# excel 外部表不是预期的格式

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/net-wiki/2086.html