【发布时间】:2019-02-22 13:59:56
【问题描述】:
我正在使用 LinqToExcel 将所有行提取到一个列表中,但在这种情况下,我不想要任何空行。我已经在堆栈中搜索了任何解决方案,但没有成功解决我的问题。
var excelSheetLst = excel.Worksheet<T>(sheetName).Where(s => s.GetPropertyValue("RegisterNumber").ToString() != "").ToList();
使用此代码示例,我遇到以下错误:
System.Data.OleDb.OleDbException: '外部表不是预期的格式。'
请注意,类型 T 始终是属性名称 RegisterNumber(字符串),而 sheetName 是随工作表名称变化的。
编辑:
产生此错误的最少代码
var fileNamePath = "excel.xlsx"; // This excel have empty rows
var sheetName = "Client"; // Sheet name in excel
public class Client
{
public string RegisterNumber { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
var excel = new ExcelQueryFactory(fileNamePath);
excel.DatabaseEngine = DatabaseEngine.Ace;
var excelSheetLst = excel.Worksheet<T>(sheetName).Where(s => s.GetPropertyValue("RegisterNumber").ToString() != "").ToList();
JP.
【问题讨论】:
-
@DanielA.White 完成。
标签: c# linq-to-excel