灵活运用UiPath组合拳解决分类汇总

很多童鞋们在做项目时遇到繁杂的表格会大伤脑筋,特别是甲方要求以固定格式产出时,就会有人出来抱怨UiPath不如VBA好用了,作为UiPath的使用者,今天带大家体验一下UiPath几个activity的组合运用。

先介绍需求如下:

1.   “明细表”为各类产品每月销售明细

2.   依产品主类别/子类别分别加总销售金额

3.   将产品主类别/子类别的销售额填入“汇总表”


以下图示更清楚,需要将白家电/黑家电每月销售额依次填入汇总表:

预期效果如下:

我们先以“例1”对产品主类别做方法介绍:

程序设计思路如下:

1.   读取明细表为datatable--DT

2.   DT中新增一列“主类别”,只取销售产品类型的部分字符填入

3.   读取汇总表为datatable--FormatDT

4.   建立第一个循环:对每个产品主类型做循环加总,为了识别出需要的循环次数,新增MainTypeDT取产品主类型中的非重复值。

5.   建立第二个循环:1月~12月循环加总,这里需要新增整数型变量控制循环次数

6.   在FormatDT中加入主类别名称及加总值,最后把datatable整体写出至汇总表


UiPath程式如下,有点长,所以整体贴出来供大家理解:

以上为步骤1~4,只是尚未建立循环,以下为步骤4~6中两个循环的写法:

以上涉及到对datatable的操作有点多,历史文章中都有提及:

如⑩:直接对表中的数据进行加总,可以参考UiPath中对Data table进行加总的5种方法

如11:定位datatable中第几行第几列,可以参考用UiPath如何取得datatable中的数据


另外,对于部分同学在使用Datatable的扩展功能时,经常遇到类似错误:

1.类System.Data.Datatable”没有默认属性,因此无法被索引

2.AsEnumberable不是System.Data.Datable的成员

3.Compiler error(s) encountered

大多是版本问题,目前有效的一个解决方法是,将mail.xaml用txt打开,查询到一串AssemblyReference的表达式,将<AssemblyReference>System.Data.DataSetExtensions</AssemblyReference>贴在最下面,如下图所示应该是可以解决问题哒。

这次的文章貌似知识点较多,大家尽量学会用这个套路做类似的分类汇总动作,关键要熟能生巧。笔者比较不喜欢部分人在用UiPath的时候因为不会循环或不会灵活运用Datatable,转而去研究VBA或者用一个个read/write cell的操作方式。


大家加油呀,后台的问题解决了大部分,没解决的问题主要集中在版本问题上。因为为了保证UiPath的足够稳定,笔者到现在还在用2018版本,不少同学在使用最新版或中文版时遇到挺多奇怪的问题。不管怎么说,有问题就在公众号留言,笔者能够帮忙的是会尽力相帮,非常感谢大家一路以来的支持!!

推荐阅读更多精彩内容