首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Excel“外部表不是预期的格式。”

Excel“外部表不是预期的格式。”
EN

Stack Overflow用户
提问于 2009-07-17 02:23:28
回答 16查看 402K关注 0票数 166

我正在尝试使用下面显示的代码读取Excel (xlsx)文件。我得到一个“外部表不是预期的格式”。错误,除非我已经在Excel中打开了该文件。换句话说,我必须先在Excel中打开文件,然后才能从我的C#程序中读取if。xlsx文件在我们网络上的一个共享上。如何在不打开文件的情况下读取该文件?谢谢

代码语言:javascript
复制
string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";

using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
    DataSet ds = new DataSet();
    adaptor.Fill(ds);
}
EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2009-09-01 16:38:52

“外部表不是预期的格式。”通常在尝试使用连接字符串为Microsoft.Jet.OLEDB.4.0和Extended Properties=Excel 8.0的Excel2007文件时发生

使用以下连接字符串似乎可以解决大多数问题。

代码语言:javascript
复制
public static string path = @"C:\src\RedirectApplication\RedirectApplication\301s.xlsx";
public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
票数 252
EN

Stack Overflow用户

发布于 2016-01-22 20:25:00

加我的案子就行了。我的xls文件是由一个网站的数据导出函数创建的,文件扩展名是xls,它可以用MS Excel2003正常打开。但是Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0都收到了“外部表不是预期格式”的异常。

最后,正如异常所说,问题是“它不是预期的格式”。虽然它的扩展名是xls,但当我用文本编辑器打开它时,它实际上是一个格式良好的html文件,所有数据都在中,每个都是一行,每个都是单元格。然后我想我可以用html的方式来解析它。

票数 9
EN

Stack Overflow用户

发布于 2014-07-05 02:06:08

我在第三方和Oledb读取XLSX工作簿时遇到错误。该问题似乎是导致错误的隐藏工作表。取消隐藏工作表使工作簿能够导入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1139390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档