外部表不是预期的格式。

Posted 涂山吕吕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外部表不是预期的格式。相关的知识,希望对你有一定的参考价值。

今天在写一个把Excel导入到数据的时候报了一个异常“外部表不是预期的格式。”

 

于是到网上搜了一下,我写的着个strConn只试用于office2003版的。而我的是office2010版的。所以这样写是会出现异常的。针对不同的office版本也有不同的写法。

Office2003(Microsoft.Jet.Oledb.4.0)
string strConn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\'Excel 8.0;HDR=Yes;IMEX=1;\'", strExcelFileName);

Office2007(Microsoft.ACE.OLEDB.12.0)
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\'Excel 8.0;HDR=Yes;IMEX=1;\'", strExcelFileName);

Office2010(Microsoft.ACE.OLEDB.12.0)
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\'Excel 12.0;HDR=Yes;IMEX=1;\'", strExcelFileName);

还要一个就是“HDR=Yes”这个问题,如果HDR的值是Yes,那么第一行是被当做列名的,不会被导入。只有为“No”才可以被当做数据导入。

以上是关于外部表不是预期的格式。的主要内容,如果未能解决你的问题,请参考以下文章

“外部表不是预期格式”异常的问题[重复]

外部表不是预期的格式。

IIS 和 OLE DB 外部表不是预期的格式

导入excel错误:外部表不是预期的格式 解决方案

尝试访问 Excel 时,外部表不是预期格式错误

新手错误:外部表不是预期的格式[重复]