UiPath基础篇 - Excel和数据表自动化3
![](https://img.haomeiwen.com/i15423191/4aa55ff23e1d18d6.jpg)
UiPath的在线Guide中对于Excel和数据表的自动化介绍比较少,但在实际应用时这一块的自动化需求却很大。
所以小白决定为大家多分享一些相关的内容,今天我们就继续介绍Excel和数据表的自动化。
如果有在Studio找不到Excel或Workbook activities的同学可以在Manage Packages里搜索安装(其它activities如果没有预置也可以参照这个方法来进行安装)。
![](https://img.haomeiwen.com/i15423191/0576b5f8973c0fc3.png)
回到我们的话题,之前的分享中已经介绍了Excel和数据表一些基本的读写用法(UiPath基础篇 - Excel和数据表自动化2)。今天我们会拿一个简单的例子给同学们演示一下如何对表进行一些逻辑加工。
![](https://img.haomeiwen.com/i15423191/2fc3d3ff6687a080.png)
表非常简单,我们现在需要筛选其中年龄小于40的人员信息。
1. 首先用Read Range读取该表格,输出一个数据表(DataTable)变量名为DT1,当然大家也可取其它名字。注意输出的数据表要加上表头(AddHeaders打勾)。
![](https://img.haomeiwen.com/i15423191/8d2e059b643e7570.png)
2. 根据需要创建一个新的数据表,这里我们会第一次使用到Build Data Table这个activity,其主要用于建立一个定制的表的结构。点击activity上DataTable的按钮进入一个自定义的界面,可以用“+”来添加列,如下图我们放置了Name,Age和Field(实际只放了Name和Age用来举例)。
这边输出的数据表我们命名newDT。
![](https://img.haomeiwen.com/i15423191/cd2f17fe1437f61e.png)
3. 准备工作完成,现在我们就要开始筛选原数据表了,也就是之前获取的DT1。对数据表内每一行数据进行逻辑处理的话我们会使用For Each Row activity。
用Get Row Item分别抓取每一行Name和Age的数据(通过在右边的属性框设置ColumnName,也就是列名;或者设置ColumnIndex列号,注意列号是从0开始的)。
![](https://img.haomeiwen.com/i15423191/23ad7c33f7e06d6c.png)
4. 用If 语句判断满足Age < 40的行,我们把该行的Name和Age用Add Data Row加到之前创建的newDT数据表中。
Add Data Row需要把所有的项对应输出的数据表的结构写在右侧属性框中的ArrayRow内。格式参照{Name,Age},项与项之间用“,”隔开。
![](https://img.haomeiwen.com/i15423191/fce2d5e77c9d674e.png)
5. 最后,我们就可以把获取到的newDT用Write Range写入目标表了。
![](https://img.haomeiwen.com/i15423191/45f7d52f8445527f.png)
![](https://img.haomeiwen.com/i15423191/be6f14a74fe34f51.png)
另外,要实现上述筛选,UiPath还提供了更便捷的方式。
在activity面板搜索找到Filter Data Table,点击Filter Wizard按钮。可以直接在以下界面编辑对输入的数据表根据设置的筛选条件,进行保留或移除的操作,非常方便。小伙伴们也可以亲自测试一番。
![](https://img.haomeiwen.com/i15423191/42ff82cbf7a75ebb.png)
同学们有任何问题或建议都可以通过以下二维码或搜索微信公众号小白修炼营之RPA UiPath找到我们。当然你也可以直接加入我们小白修炼营的QQ群,和小伙伴们随时随地一起聊RPA。
![](https://img.haomeiwen.com/i15423191/ae870c0c1582c462.jpg)
![](https://img.haomeiwen.com/i15423191/929c19df93946ecb.png)