[excel - python - uipath] 엑셀 자동화에 대해서 알아보자(1-1)

루까까·2023년 7월 9일
0

Excel 자동화

목록 보기
1/25
post-thumbnail

많은 비개발자분들이 본인의 업무를 쉽고 빠르고 간편하게 하는 욕구를 가지고 있다. 현존하는 많은 자동화 프로그램이 존재하지만(대표적으로 uipath, AA 등등) 해당 프로그램을 사용하는데 여러가지 제약이 존재한다.(대표적으로 개인이 라이센스를 구매하는데..) 그렇다고 코드 기반의 자동화를 사용하는데 여라가지 공부할 점도 많아 머리가 아프다. 따라서 이러한 문제점을 해결하고자 대표적으로 사용되는 자동화 툴인 Uipath와 접근하기 쉽고 배우기 쉬운 Python 코드 두개를 설명하려고 한다.

해당 시리즈는 엑셀 자동화에 대해서 서술하고자 한다.
필자 또한 Uipath에서 제공하는 엑셀 기능(특히 모던 기능)에 대해서 완벽하게는 알지 못하지만 자동화를 하면서 사용해봤던 기능들에 대해서 이야기 해보려고 한다.

Uipath에서 엑셀 기능을 사용하려고 하면 Excel Scope를 이용해야 한다.(물론 사용을 안해도 되지만 현재 Uipath에서는 Scope 사용을 적극 권장하고 있다.)

Excel Scope의 경우 크게 두가지로 구성되어져 있다.

1. Excel Process Scope

		대표적으로 자주 사용되어지는 Scope이다. 
   		singe과는 다르게 여러 부가적인 기능을 지원해 준다.
        부가적인 기능들 중 유용하게 쓰이는 기능들이 몇가지 존재한다.
        	a. Excel 창 표시 - Excel 자동화를 시작할때 해당 엑셀을 시각적으로 보여줄지 보여주지 않을지 선택할 수 있는 기능
            b. 기존 프로세스 액션 - 자동화 시작 전 현재 활성화되어 있던 기존 Excel을 꺼주는 기능(kill excel이랑 똑같다.)
            	b-1. 자동화 시작 전 자동화 할려는 Excel파일이 활성화 되어 있는 경우 오류가 발생한다.
		나머지 기능들은 공식 문서에서 자세히 기술되어 있다.

공식문서

2. Single Excel Process Scope

		사용해본적은 없지만 일반적인 Scope의 기능을 지원해 준다.
        기존 Excel Process Scope와는 다르게 부가적인 기능을 지원하지 않는다.
        

[Excel Process Scope의 모습]

[Excel Process Scope에서 지원하는 부가 기능]

Excel Scope을 사용했다면 이제 어떠한 Excel 파일을 자동화 할지 지정을 해주어야 한다. 해당 지정해주는 Activity는 다음과 같다.
[Use Excel File Activity]

해당 Activity에서 Excel파일에서 사용하고자 하는 Excel파일 경로를 입력(상대경로도 입력 가능하다!)을 하면 해당 Excel파일을 자동화가 가능하다.

모든 사전 준비를 끝냈다면 본격적으로 Excel Activity에 대해서 알아보자!

가장 많이 사용하는 Activity, Read Range에 대해서 알아보자!

Read Range란, Excel에서 특정 범위(범위 매우중요)를 읽고자 할 때, 사용되는 기능이다.
해당 Output은 DataTable 형식으로 나온다.

범위에는 본인이 사용하고자 하는 Excel과 Sheet명 그리고 범위를 기입해준다.

Excel.Sheet("Sheet1").Range("A1:B2")
  • 'Excel'은 본인이 Use Excel File Activity에서 '다음으로 참조'에서 지정해 주었던 약칭이다.
  • 'Sheet1' 은 해당 Excel 파일에서 읽고자 할 Sheet명이다.
  • '"A1:B2"' 은 읽고자 하는 범위이다.
    - .Range("A1:B2")를 제거하면 해당 Sheet 전체를 읽는다.

읽고자 하는 범위를 설정해주었으면 해당 값을 저장해야 나중에 해당 값을 사용할 수 있다. 저장하고자 하는 변수명을 Save to에 기입해 주자.

  • dt_a 라는 Data Table형식의 변수에 저장을 하고 싶다면 Save to에 dt_a를 기입하면 된다.

최종적인 Read Range의 형태는 다음과 같다.

유용한 기능 Tip

  • 머리글(컬럼명)이 병합이거나 혹은 중복 머리글이 존재할 경우 Read Range를 하다가 종종 오류가 발생하는 경우가 있다. 이럴경우 유용하게 쓸수 있는 기능이 바로 머리글 포함여부기능이다.
    • 머리글 포함 체크박스를 해지할 경우, 기존의 머리글을 무시하고 Column1, Column2로 읽는다.

Excel에서 특정 범위의 데이터를 읽는 법에 대해서 공부하였다. 읽을 줄 도 알면 이제 쓸 줄도 아는 법을 알아야 한다. Write DataTable to Excel에 대해서 배워보자.(Read Range의 반댓말은 Write Range가 아니라니..)
[Write DataTable to Excel Activity]

Write DataTable to Excel, 말 그대로 DataTable 데이터를 Excel에 기입하고자 할 때, 사용하는 Acitivity다.
사용방법은 앞서 배웠던, Read Range와 별반 다를게 없다. 똑같이 사용하고자 할 Excel과 Sheet명 그리고 기입할 범위와 데이터를 기입하면 된다.
(기입 순서는 반대임을 잊지말자!)

유용한 기능 Tip

  • 만약 기입하고자 하는 Excel Sheet에서 머리글(컬럼명)이 예쁘게 꾸며주어 있다면 헤더 제외 체크박스를 체크하자!
    • 기입할 DT의 머리글을 무시하고 내용물만 기입하기에 예쁜 머리글 아래에 데이터가 기입된다.
profile
기타치는 개발자

0개의 댓글