需求解读分析:
读取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)
Read range就不赘述了,上一篇文章中有提到,今天主要看一下For each row里面如何设置:
row("Type")这个表达式是可以读取表格中Type这一列的值;
row("Price")则是读取表格中Price这一列的值:
.ToString是将读取到的值转换为文本格式,Type into无法直接接收row("列名")这样的object,所以必须转换为文本格式才可以实现录入。
再考虑更完善些,就是点击完Save之后的页面如果发生了变化,那么需要点击“还原”或“后退”按钮退回至输入页面,这样For each row的循环才能顺利输入。
这是比较简单的资料表数据录入举例。延伸一下的话,如果需要循环录入后按条件查找结果,并将结果存至另外一个系统。那么For each row所包含的内容就会比较长了,这时为了方便程式调试或便于程式的长期维护,建议将For each row中主要的查找结果及结果保存至新系统的动作包裹为子流程,然后通过流程调用及不同流程传递参数的方法设计程式。具体调用方法及参数传递方法,待笔者再找时间分享给大家。