计算vb.net epplus中与其他项链接的总数



你好,我有一个问题我有这个excel文件,我需要计算变量的总数,但这是可靠的在excel中的其他列。这样的:

<表类> 船 类型 杜 tbody><<tr>摩尔本CASA900摩尔本CASA901摩尔本PANL922摩尔本CASA934摩尔本CASA942MSN是PANL1530MSN是PANL1540MSN是CASA1544MSN是CASA1544

在我的快速查看期间,我没有找到任何方法枚举EPPlus中的行(我不使用它来读取,仅用于写入),让我们编写一个交互器,将使工作表成为命名ValueTuples的可枚举列表;这将使它们更容易使用,并且它们将隐式地分组为值类型:

Private Iterator Function SheetIterator(w As ExcelWorksheet, fromRow As Integer, toRow As Integer) As IEnumerable(Of (Shp As String, Typ As String, Dus As String))
For row = fromRow To toRow
Yield (Shp:=w.Cells(row, 1).Text, Typ:=w.Cells(row, 2).Text, Dus:=w.Cells(row, 3).Text)
Next
End Function

现在你有一个枚举表的设备,并返回值元组(对象有Shp,TypDus属性的值在你的行。这意味着您可以这样做:

SheetIterator(x, 1, 4) _                 
.GroupBy(Function(z) (z.Shp, z.Typ)) _ 
.Select(Function(g) (g.Key.Shp, g.Key.Typ, Ct:=g.Count()))

  1. 运行枚举表
  2. 的函数。
  3. 它将返回的对象分组,按Shp/type分组,因此您得到一个具有例如("MOL BEN", "CASA")键的对象,并且它本身是具有这些值对的每个对象的列表,因此它是一个包含4个对象的列表。在GroupBy中最难接受的是返回就像List(Of EnhancedList(Of Something))
  4. 我们选择,它在外表上操作。外列表中的每个条目都别名为g,它有一个Key属性,表示我们分组的对象(一个代表Shp/type的对象),它本身是一个共享该Shp/type的所有对象的列表;除了count it
  5. ,我们对这个列表不做任何操作

因此输出是另一个具有Shp, type和Ct (count)属性的对象,并且整个序列最终看起来像

("MOL BEN", "CASA", 4)
("MOL BEN", "PANL", 2)
...

相关内容

  • 没有找到相关文章

最新更新