如题,
现在有2个表(Excel),结构内容如下:
Datatable1:
项目 | 值 |
---|---|
AA | 1 |
AB | 2 |
CC | 3 |
Datatable2:
项目 | 值 |
---|---|
AA | 4 |
BB | 5 |
CC | 6 |
DD | 7 |
需求:
2个表合并为1个表,并按照项目类别分类,且值需要合计起来。
效果如下:
Datatable合并:
项目 | 值 |
---|---|
AA | 5 |
AB | 2 |
BB | 5 |
CC | 9 |
DD | 7 |
Uipath实现步骤:
因为Uipath中的合并数据表没有分类合计的功能,所以需要使用 Group By LINQ 查询。
1.使用活动控件,”合并数据表(MergeDataTable)“进行2个表的合并,
2.使用Assign活动控件赋值,
保存位置:创建变量【Datatable合并】,变量类型:DataTable
要保存的值:
(From row In Datatable2.AsEnumerable()
Group row By 项目分类 = row.Field(Of String)("项目") Into Group
Let total值 = Group.Sum(Function(r) Convert.ToDouble(r.Field(Of String)("值")))
Select Datatable2.LoadDataRow(New Object() {项目分类, total值}, False)).CopyToDataTable()
3.使用”写入范围Workbook(WriteRange)“控件写入数据表
以上,就可以简单实现两个表合并和分类汇总的效果。