用户头像

小側姬

2021-07-12

301
UiPath excel循环写入

我是RPA之家的老师,最近听到小伙伴们因为循环录入资料的问题犯难,看上去用RPA之家UiPath做资料录入不难,做一个循环也不难,但就是不知道怎样将两个功能搭配在一起用。所以半夜爬起来跟大家分享一下RPA之家设计思路。

资料录入—>Type Into/Set Text/热键Ctrl+V

循环—>While/Do While/For Each/For Each Row

先以excel表格中资料的循环录入为例:

需求:将表格中的每行资料依次录入系统的不同栏位中

需求解读分析:

读取excel表格--表格内容存取为Data Table--Data Table中第一行第一列(不含标题)录入Type -- Data Table中第一行第二列录入Price -- 保存

其中蓝色字体显示的部分,是需要包含在循环中的。

如何设计循环呢,循环ActivityWhile/Do While/

For Each/For Each row;对表格数据的循环处理,优先选用For Each Row

UiPath设计角度,流程结构为:

Read Range--For each row

For each row中依次为: Type into(Type)--Type intoPrice--ClickSave

Read range就不赘述了,上一篇文章中有提到,今天主要看一下For each row里面如何设置:

row("Type")这个表达式是可以读取表格中Type这一列的值;

row("Price")则是读取表格中Price这一列的值:

.ToString是将读取到的值转换为文本格式,Type into无法直接接收row("列名")这样的object,所以必须转换为文本格式才可以实现录入。详情请关注RPA之家。

再考虑更完善些,就是点击完Save之后的页面如果发生了变化,那么需要点击“还原”或“后退”按钮退回至输入页面,这样For each row的循环才能顺利输入。

这是比较简单的资料表数据录入举例。延伸一下的话,如果需要循环录入后按条件查找结果,并将结果存至另外一个系统。那么For each row所包含的内容就会比较长了,这时为了方便程式调试或便于程式的长期维护,建议将For each row中主要的查找结果及结果保存至新系统的动作包裹为子流程,然后通过流程调用及不同流程传递参数的方法设计程式。具体调用方法及参数传递方法,待笔者再找时间分享给大家。

作者:RPA之家

链接:https://www.jianshu.com/p/336697a9c168

来源:RPA之家

评论

撰写回答
RPA之家banner图