LinkToExcel group by和Sum

时间:2014-02-28 04:51:42

标签: linq-to-excel

我正在尝试使用LinqToExcel解决问题,我遇到了一些问题。我们得到这个excel文件,它告诉我们将收到的产品。我需要读取该文件并将更新保存到数据库中。一切都很好,除非我们在文件中获得具有相同partNumber的2条记录。要求是在将记录保存到数据库之前合并记录。如果我可以使用“group by”,我可以将数量相加,但显然我不能用LinkToExcel进行分组,所以有人可以给我一些关于如何解决这个问题的提示吗?

var product = from x in book.Worksheet("FormularyImport")
    group by x.InternalPN into g_pn
    select g_pn.First().InternalPN, g_pn.First().Name, g_pn.Sum(x => x.Qty);

foreach (string product in product)
{
   //Here I want to iterate through each product, and persist the imported data to the database.
}

1 个答案:

答案 0 :(得分:3)

如果先将其转换为内存列表,则可以使用group by。

var product = from x in book.Worksheet("FormularyImport").ToList()
    group by x.InternalPN into g_pn
    select g_pn.First().InternalPN, g_pn.First().Name, g_pn.Sum(x => x.Qty);

foreach (string product in product)
{
   //Here I want to iterate through each product, and persist the imported data to the database.
}

请注意ToList()

之后的Worksheet("FormularyImport")来电