LINQ to Excel查询中的输入字符串格式错误

时间:2015-04-08 20:38:50

标签: 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(); //Error points here

StatusPedido是我自己的类,它有5个int属性,每个属性对应于excel文件中的一列,可能导致此错误,但我无法找到错误来自哪个或哪里。

查询不会执行,直到它被枚举,并且使用.ToList()方法并不显示哪个项目(1600个excel行)甚至导致错误,所以我&#39;我不确定在哪里看。

有没有办法迭代&#39;项目&#39; IQueryable一个接一个地找到哪一个未能转换为StatusPedido - 从而确定excel中哪个行/单元抛出此错误?

1 个答案:

答案 0 :(得分:0)

由于ListaItemsStatusPedido

的列表

尝试:

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;