最近聽到小伙伴們因?yàn)檠h(huán)錄入資料的問題犯難庵寞,看上去用UiPath做資料錄入不難,做一個循環(huán)也不難薛匪,但就是不知道怎樣將兩個功能搭配在一起用捐川。所以半夜爬起來跟大家分享一下設(shè)計思路。
資料錄入—>Type Into/Set Text/熱鍵Ctrl+V
循環(huán)—>While/Do While/For Each/For Each Row
先以excel表格中資料的循環(huán)錄入為例:
需求:將表格中的每行資料依次錄入系統(tǒng)的不同欄位中
表格如下:
系統(tǒng)界面如下:
需求解讀分析:
讀取excel表格--表格內(nèi)容存取為Data Table--將Data Table中第一行第一列(不含標(biāo)題)錄入Type -- 將Data Table中第一行第二列錄入Price -- 保存
其中藍(lán)色字體顯示的部分逸尖,是需要包含在循環(huán)中的古沥。
如何設(shè)計循環(huán)呢,循環(huán)Activity有While/Do While/
For Each/For Each row娇跟;對表格數(shù)據(jù)的循環(huán)處理渐白,優(yōu)先選用For Each Row。
從UiPath設(shè)計角度逞频,流程結(jié)構(gòu)為:
Read Range--For each row
For each row中依次為: Type into(Type)--Type into(Price)--Click(Save)
Read range就不贅述了纯衍,上一篇文章中有提到,今天主要看一下For each row里面如何設(shè)置:
row("Type")這個表達(dá)式是可以讀取表格中Type這一列的值苗胀;
row("Price")則是讀取表格中Price這一列的值:
.ToString是將讀取到的值轉(zhuǎn)換為文本格式襟诸,Type into無法直接接收row("列名")這樣的object,所以必須轉(zhuǎn)換為文本格式才可以實(shí)現(xiàn)錄入基协。
再考慮更完善些歌亲,就是點(diǎn)擊完Save之后的頁面如果發(fā)生了變化,那么需要點(diǎn)擊“還原”或“后退”按鈕退回至輸入頁面澜驮,這樣For each row的循環(huán)才能順利輸入陷揪。
這是比較簡單的資料表數(shù)據(jù)錄入舉例。延伸一下的話杂穷,如果需要循環(huán)錄入后按條件查找結(jié)果悍缠,并將結(jié)果存至另外一個系統(tǒng)。那么For each row所包含的內(nèi)容就會比較長了耐量,這時為了方便程式調(diào)試或便于程式的長期維護(hù)飞蚓,建議將For each row中主要的查找結(jié)果及結(jié)果保存至新系統(tǒng)的動作包裹為子流程,然后通過流程調(diào)用及不同流程傳遞參數(shù)的方法設(shè)計程式廊蜒。具體調(diào)用方法及參數(shù)傳遞方法趴拧,待筆者再找時間分享給大家。
?