看看这篇文章:Excel "External table is not in the expected format."
我在该帖子中描述了同样的问题,但我使用LinqtoExcel来读取文件而不是普通查询。
LinqToExcel等效设置连接字符串作为该帖子的答案是什么意思?
以下是我正在使用的代码:
var excelOM = new ExcelQueryFactory(pPathArchivoOM);
var despachosClient = from c in excelOM.Worksheet<RegistroDespachoOM>("Tabla_1")
where c.DESTINAT.Contains("SOMETEXT")
select c;
//Identificar los despachos asociados a números de documento sin datos aún.
foreach (RegistroDespachoOM despacho in despachosClient)
{ ...
我的问题是:“foreach start中的外部表格不是预期的格式”。
编辑(我的问题已经解决,但问题仍未解决):我正在使用EPPlus代替LinqToExcel执行此任务,现在一切正常。
答案 0 :(得分:5)
您需要使用ACE数据库引擎而不是JET数据库引擎。
您可以通过设置DatabaseEngine
属性来使用LinqToExcel执行此操作。这是一个例子
var excelOM = new ExcelQueryFactory(pPathArchivoOM);
excelOM.DatabaseEngine = DatabaseEngine.Ace;