본문 바로가기

IT/UiPath

많은 Dictionary자료 형태를 key값을 매번 명시하지 않는 방법(For each방법)

UiPath Orchestrator에서 queue항목들을 UiPath studio에 QueueItem으로 가지고 와서 엑셀에 데이터를 넣을려면 queueitems.SpecificContent("키값")을 사용하면 그 해당 데이터를 입력이 가능하다.

이게 SpecificContent("키값")가 몇개면 상관이 없는데 만약 컬럼이 몇십개면 키값을 다 명시하면서 value값 넣는 것은

비효율적인 업무이다.

 

그래서 더 효율적인 방법은 For Each 문에 System.Collections.Generic.KeyValuePair<TKey, TValue>  타입으로 반복문으로 선언하고 사용하는 것이다. 그럼 For Each문 item에서는 SpecificContent의 딕셔너리 형태(key값과 value값)가 하나씩 반복된다. 반복되는 동안에 해당하는 item.key.ToString()으로 사용해서 key값을 매번 명시 하지 않아도 되고 value값을 item.Value.ToString()으로 쓰면 value값을 매번 명시 하지 않아도 된다. 

 

아래 그림에 보면 inTransactionItem.SpecificContent안에 item(딕셔너리 형태 자료)을 반복 시켜서 기존에 있는 datatable을 datarow_input = dataTable.NewRow()로 만들어서 하나씩 컬럼값에 입력 하는 방법이다.