打开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();
}
}
9 个解决方案
#1
在线等,
#2
excel应该不是excel文件类型,虽然后缀是xls,你可以通过将文件另存为的方式重新指定为excel文件
#3
这种情况主要出现在将网页中的数据导出到excel表格中的情况
#4
Microsoft.Jet.OLEDB.4.0这是针对老版本excel的,新版本你要升级的,V12
#6
文件是excel文件类型,excel2007,后缀是xlsx,把该文件打开时,可以正确取得数据
#7
正解,当excel文件为Excel 2007 时,
使用Microsoft.Jet.OLEDB. 4.0 and Extended Properties=Excel 8.0时会出现问题,
修改成12.0
Microsoft.ACE.OLEDB.12.0,Extended Properties=Excel 12.0
#8
你好,我的问题和你的一样,按你所说的方式改了后,还是会出现错误
#9
excel2013遇到同样的问题怎么解决啊?各位有会的吗?
#1
在线等,
#2
excel应该不是excel文件类型,虽然后缀是xls,你可以通过将文件另存为的方式重新指定为excel文件
#3
这种情况主要出现在将网页中的数据导出到excel表格中的情况
#4
Microsoft.Jet.OLEDB.4.0这是针对老版本excel的,新版本你要升级的,V12
#5
#6
excel应该不是excel文件类型,虽然后缀是xls,你可以通过将文件另存为的方式重新指定为excel文件
文件是excel文件类型,excel2007,后缀是xlsx,把该文件打开时,可以正确取得数据
#7
希望有帮助的
http://blog.csdn.net/jiajiayouba/article/details/7531707
正解,当excel文件为Excel 2007 时,
使用Microsoft.Jet.OLEDB. 4.0 and Extended Properties=Excel 8.0时会出现问题,
修改成12.0
Microsoft.ACE.OLEDB.12.0,Extended Properties=Excel 12.0
#8
希望有帮助的
http://blog.csdn.net/jiajiayouba/article/details/7531707
正解,当excel文件为Excel 2007 时,
使用Microsoft.Jet.OLEDB. 4.0 and Extended Properties=Excel 8.0时会出现问题,
修改成12.0
Microsoft.ACE.OLEDB.12.0,Extended Properties=Excel 12.0
你好,我的问题和你的一样,按你所说的方式改了后,还是会出现错误
#9
excel2013遇到同样的问题怎么解决啊?各位有会的吗?