首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

连接EXCEL "外部表不是预期的格式。"异常

2013-01-11 
连接EXCEL 外部表不是预期的格式。错误EXCEL文档没有打开时,报错误外部表不是预期的格式。打开EXCEL文档

连接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文件
[解决办法]
本帖最后由 bdmh 于 2013-01-05 10:39:39 编辑

Microsoft.Jet.OLEDB.4.0这是针对老版本excel的,新版本你要升级的,V12
[解决办法]
希望有帮助的
http://blog.csdn.net/jiajiayouba/article/details/7531707

热点排行