连接EXCEL "外部表不是预期的格式。"错误
EXCEL文档没有打开时,报错误"外部表不是预期的格式。"
打开EXCEL文档时,能正常取到数据,
请问下是什么原因,如何解决?谢谢
代码如下(红色字体是抛异常的语句):
private DataSet GetDsFromExcel(string excelFilePath)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFilePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
try
{
// 打开数据源
OleConn.Open();
// 取得第一个sheet的名称
DataTable schemaTable = OleConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
string tableName = schemaTable.Rows[0][2].ToString().Trim();
// 填充DataSet
String sql = "SELECT * FROM [" + tableName + "]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "myTable");
return OleDsExcle;
}
catch (Exception ex)
{
m_objLog.Error(ex);
return null;
}
finally
{
// 关闭连接
OleConn.Close();
}
}
------解决方案--------------------excel应该不是excel文件类型,虽然后缀是xls,你可以通过将文件另存为的方式重新指定为excel文件
------解决方案--------------------
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。