Skip to content

minjoo999/autoExcelGUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

프로젝트 안내

Python을 활용하여 엑셀 정산 양식 작성을 자동화하는 프로젝트. 파일 제목, 정산 기간 등을 편리하게 입력하기 위해 PyQt5로 GUI 인터페이스를 제작하였고, PyInstaller를 이용하여 exe 파일 1개로 배포하였다.

프로그램 작동 세부 절차

  1. gui.py를 작동하여 GUI 창 구동
  2. GUI 창에 정산 기간 시작일과 종료일, 파일 완성본 제목, 정산할 사이트에 로그인할 아이디와 비밀번호 입력
  3. 정산 시작 버튼 누를 때 make.py 구동하여 이후 자동화 절차 시작
  4. selenium을 통해 웹사이트에 로그인하고 배송완료, 배송중 파트 거래내역 엑셀파일 다운로드
  5. pywin32 (win32com)을 이용하여 다운로드된 파일에서 정산 대상인 기간에 해당하는 행만 골라 날짜, 상품명, 판매금액 등 원하는 사항을 양식 파일 original.xlsx의 빈칸에 집어넣기
  6. 완성된 양식파일을 GUI 창에서 지정한 제목으로 저장하기

알게 된 것

작업 시 주안점

  • GUI 개발, 파일 1개 배포 등 프로그램을 주로 활용할 클라이언트의 편의성 고려

기술적 발전 & 발견

  1. class 기반 객체 지향 개발을 통하여 캡슐화 성공
  2. pywin32 (win32com)은 Python을 이용하여 엑셀 자원을 컨트롤하는 패키지임을 고려하여, 원하는 방법론을 찾을 때 엑셀 사무자동화나 VBA 가이드를 함께 참고함
  3. venv 활용
  4. os 패키지 활용하여 배포를 고려한 경로 설정
  5. 적절한 .gitignore 활용
  6. 디버깅 시 코드의 작동 양상 관찰을 통한 오류 해결
  • Copy & Paste 로직이 make.py 작업 중에만 오류를 일으켰는데, 디버깅 과정에서 엑셀 창 2개가 겹쳐 있을 때 아래에 깔려서 잘 보이지 않는 칸은 Paste가 작동하지 않는 것을 발견함
  • 이후 Paste의 대상이 되는 양식 파일이 아래에 깔리지 않도록 로직 조정하여 오류 해결

보완할 점

  1. 업데이트 시 배포 자동화
  2. autoUi.ui, original.xlsx 등 구동 시 필요한 파일을 함께 배포하는 방법 알아보기
  3. 설치 혹은 구동 시 원하는 형태의 디렉토리 구조를 자동으로 만들어 주도록 하기

About

엑셀 정산 양식 자동화 프로그램

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages