RPA/UiPath Studio

[UiPath Studio] 엑셀 파일 생성 및 저장

꼰대 2021. 7. 6. 17:41

기업용 RPA 툴로 유명한 UiPath를 사용해 봤습니다.

이건 뭐... 개발언어 모르면 사용이 거의 불가능하지 않을까 생각됩니다.

저도 알음알음 찾아가면서 도전해봤는데 직관성이 좀 떨어지는 듯 하지만 MS Power Automate Desktop보다는 다양한 표현을 할 수 있는 장점이 있는 듯 합니다.

 

그러면 초심자인 저를 기준으로 기초적인 엑셀 파일을 생성해서 데이터 넣고 저장하는 플로어를 만들어 보겠습니다. 엑셀 파일 생성 후 데이터 테이블에 타이틀 이름을 넣고 1번 부터 10번까지 학생의 국어, 영어, 수학 점수를 랜덤으로 넣고 평균값을 소수점 1자리로 구해 넣은 다음 이 데이터 테이블을 엑셀에 넣는 구조입니다.

먼저 전체 플로어는 아래와 같습니다.

 

변수값

 

이제 하나씩 살펴보겠습니다.

먼저 프로젝트를 하나 생성 후 메인 페이지를 열고 좌측 액티비티 검색창에 excel이라고 입력하면 검색된 액티비티가 출력되는데 이 중 Excel Application Scope를 끌어와 메인창에 넣습니다.

 

다음으로 새로운 파일을 생성해야하기 때문에 필드에 생성할 파일명을 입력합니다. UiPath는 변수를 제외한 모든 값을 따옴표 내에 작성해야합니다. 따라서 파일명도 따옴표 내에 써야합니다. 생성되는 파일의 경로는 프로젝트 폴더입니다.

 

다음으로 좌측 액티비티에서 data table로 검색해서 Build Data Table 액티비티를 끌어와 Excel Application Scope > 실행 안에 넣습니다.

 

Build Data Table 내 데이터 테이블 버튼을 클릭한 다음 타이틀 정보를 입력해줍니다. 기존 컬럼은 편집 버튼을 클릭하여 이름과 데이터형을 수정하고 컬럼 추가는 좌측 +버튼을 클릭하여 아래와 같이 입력합니다. 여기서 번호, 국어, 영서, 수학, 평균은 실제 엑셀의 첫번째 행에 들어갈 데이터입니다.

 

다음 Build Data Table을 선택하고 우측 속성창에서 DisplayName은 표시하고 싶은 이름을 변경하고 싶다면 새로운 이름으로 입력합니다. 그리고 출력의 데이터 테이블 입력창에서 ctrl + k를 누르고 변수 설정에 해당 데이터 테이블의 변수명을 입력합니다. 다음 엔터를 누른 후 Scope를 Sequence로 변경해 줍니다.

이 중 Scope(범위)는 변수가 적용된 범위를 의미하며 전역변수, 지역변수처럼 해당 변수가 사용될 범위를 지정하는 개념입니다. 여기서는 제일 처음 생성된 Sequence에서 사용 가능하도록 지정하였습니다.

 

하단 변수탭을 클릭하면 생성된 변수명과 유형, 범위를 확인할 수 있습니다.

 

다음으로 반복문을 돌며 행정보를 입력할 변수를 지정해줘야 합니다. 먼저 좌측 액티비티에서 assign을 입력하고 Assign을 끌어와 Build Data Table 하단에 배치합니다. 그리고 변수명을 start_row로 정의하고 초기값은 1로 입력합니다. 추가로 Assign을 끌어와 max_row 변수값을 지정해줍니다.

 

만약 해당 부분이 형 변환 에러가 난다면 하단 변수탭에서 변수 유형을 String에서 Int32로 변경해줍니다.

 

다음으로 반복을 통해서 각 과목의 점수값을 입력해야 합니다. 먼저 좌측 액티비티에서 Do While을 끌어와 배치합니다.

 

다음 조건에 아래와 같이 입력합니다. 이는 반복문이 총 10회 반복하도록 정의한 조건입니다. 해당 조건이 만족할 때만 반복문이 적용되고 조건에 맞지 않으면 반복문을 탈출합니다.

 

좌측 액티비티에서 Assign을 끌어와 Body부분에 넣고 이름은 korNum으로 정의한 후 값 부분에 국어 점수에 대한 랜덤 값을 입력해줘야 합니다. 랜덤값은 new Random().Next(0, 100)으로 넣었고 이는 0부터 100이내 랜덤 숫자를 korNum에 넣는다는 의미입니다.

만약 위처럼 형 변환 에러가 난다면 하단 변수탭에서 해당 변수의 유형을 Int32로 변경해줍니다.

식 편집기는 우측 속성의 Value 항목의 ... 버튼 누르면 됩니다.

 

나머지 영어, 수학 점수도 위와 동일하게 처리해줍니다.

 

평균을 제외한 하나의 행 값이 완성되어 이 정보를 데이터 테이블에 넣겠습니다. 좌측 액티비티에서 add로 검색 후 Add Data Row를 끌어와 수학점수 다음에 배치합니다.

다음으로 데이터 테이블은 위에서 생성한 데이터 테이블 변수 이름인 excel_data를 입력하고 ArrayRow의 ... 버튼을 클릭하여 식 편집기를 활성화 시킵니다.

 

이제 row의 각 column별 데이터를 Array 형태로 집어 넣습니다. 번호와 국어, 영어, 수학 점수는 위에서 정의한 변수값을 집어 넣고 평균 부분은 세 과목의 점수의 합을 3으로 나눈다음 Math.Round를 통해 반올림한 소수점 1자리까지 표현합니다.

 

다음으로 Assign을 끌어와 위에서 정의한 start_row값을 +1 증가시켜줍니다.

 

이제 반복문을 모두 마치게 되면 1번부터 10번까지의 각 과목 성적과 평균값이 데이터 테이블에 들어가게 됩니다.

따라서 이 데이터 테이블을 엑셀에 넣어주면 모든 작업은 끝나게 됩니다. 좌측 액티비티에서 excel로 검색하여 Write Range를 끌어와 데이터 테이블 변수명인 excel_data를 입력해줍니다.

아래 내용은 Sheet1 시트에 A1번 셀부터 excel_data값을 입력한다라는 내용입니다.

 

이제 저장하고 상단 파일 디버그 버튼을 눌러 실행합니다.

실행 결과는 아래와 같습니다.

반응형