3

LinqToExcel を使用して問題を解決しようとしていますが、いくつか問題があります。受け取る製品を示すこのExcelファイルを取得します。そのファイルを読み取って、更新をデータベースに保存する必要があります。同じ partNumber を持つファイルに 2 つのレコードを取得する場合を除いて、すべて問題ありません。要件は、レコードをデータベースに保存する前にマージすることです。「グループ化」を使用できれば、Qty を合計することもできますが、どうやら 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.
}
4

1 に答える 1

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")

于 2014-02-28T12:18:03.613 に答える