C# LINQ to Excel查询中的输入字符串格式不正确错误
使用LINQ to excel解析excel文件时,我发现输入字符串的格式不正确:C# LINQ to Excel查询中的输入字符串格式不正确错误,c#,excel,linq,linq-to-excel,C#,Excel,Linq,Linq To Excel,使用LINQ to excel解析excel文件时,我发现输入字符串的格式不正确: var excel = new ExcelQueryFactory(ExcelFileURI); excel.DatabaseEngine = DatabaseEngine.Ace; var items = excel.Worksheet<StatusPedido>(sheetName); List<StatusPedido> list = items.ToList(); //Erro
var excel = new ExcelQueryFactory(ExcelFileURI);
excel.DatabaseEngine = DatabaseEngine.Ace;
var items = excel.Worksheet<StatusPedido>(sheetName);
List<StatusPedido> list = items.ToList(); //Error points here
StatusPedido是我自己的类,它有5个int属性,每个属性对应excel文件中的一列,这可能会导致此错误,但我找不到错误的来源
该查询在枚举之前不会执行,并且使用.ToList方法不会显示哪一项甚至是导致错误的excel行,因此我不确定在哪里查找
是否有一种方法可以逐个迭代“项”IQueryable,以找到哪一项未能转换到StatusPedido中,从而确定excel中哪一行/单元格引发此错误?因为ListaItems是StatusPedido的列表
尝试:
在没有ToList的情况下使用foreach进行迭代应该可以让您一步一步地遍历每一个foreach。调用foreach会使程序将整个IQueryable作为StatusPedido项加载到内存中,这反过来会在某个地方触发异常,但不会指定在哪一行或哪一个值上。。。
List<StatusPedido> ListaItems;
Console.WriteLine("Getting articles from excel file");
var excel = new ExcelQueryFactory(ExcelFileURI);
excel.DatabaseEngine = DatabaseEngine.Ace;
//var Items = from c in excel.Worksheet<StatusPedido>(sheetName)
var Items = from c in excel.Worksheet<StatusPedido>(sheetName)
select c;
foreach(var x in items)
{
StatusPedido objData=new StatusPedido();
objData.val1=x.val1;
.
.
.
ListaItems.Add(objData);
}
return ListaItems;