UiPath如何实现将表格中资料循环录入网页或系统?

时间:2024-03-30 11:55:21

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

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

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

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

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

表格如下:

UiPath如何实现将表格中资料循环录入网页或系统?

系统界面如下:

UiPath如何实现将表格中资料循环录入网页或系统?

需求解读分析:

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

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

如何设计循环呢,循环Activity有While/Do While/

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

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

Read Range--For each row

For each row中依次为: Type into(Type)--Type into(Price)--Click(Save)

UiPath如何实现将表格中资料循环录入网页或系统?

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

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

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

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

UiPath如何实现将表格中资料循环录入网页或系统?

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

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



作者:Calm大大
链接:https://www.jianshu.com/p/336697a9c168
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。