파이썬[Python] Win32com을 이용하여 엑셀 시트 복사하기
파이썬[Python] Win32com을 이용하여 엑셀 시트 복사하기
앞선, 포스팅에서 엑셀 시트를 선택하기 및 시트 추가하기에 대해서 포스팅을 해봤습니다. 물론, 해당 포스팅이 매우 많이 사용이 될 것입니다. 실제, 데이터를 쓰기 위해서는 반드시, 시트를 선택해야합니다. 이번 포스팅에서는 이전 포스팅의 연결고리로, 시트를 복석하는 방법에 대해서 이야기를 해보고자 합니다. 물론, 이 부분 pywin32 기준으로 진행이 됩니다. 해당 모듈이 없을 경우 다음 링크를 통해서 설치를 진행하시길 바랍니다.
먼저 매우 간단한 방법은 다음과 같습니다. 먼저, 복사할 해당 시트를 선택하시고, 이 부분을 Copy 메소드를 선택하여 통해서, 붙여넣기를 합니다.
sheet3.Copy(Before=sheet5) // 기본 설정이 Before 입니다. , 선택 셀 앞으로 붙여놓기
// 위의 명령어와 하기 명령어는 동일함
sheet3.Copy(sheet5)
그러면 간단한 예제 코드를 생성해보겠습니다. 다음과 같은 코드를 통해서, 시트 복사를 진행해보도록 하겠습니다.
import win32com.client as win32
# Excel 인스턴스 생성
excel = win32.Dispatch('Excel.Application')
# 워크북 열기
wb = excel.Workbooks.Add()
excel.Visible = True
# 시트 접근
ws = wb.Sheets
sheet3 = wb.Sheets.Add()
sheet3.Name = 'Copy_sheet'
sheet4 = wb.Sheets.Add()
sheet4.Name = 'example1'
sheet5 = wb.Sheets.Add()
sheet5.Name = 'exmaple2'
sheet3.Copy(Before=sheet5)
위의 코드를 실행하면 다음과 같은 결과가 나타납니다. example2 시트앞으로 Copy_sheet라는 시트가 붙여넣어집니다.
물론, 위와 같이 기본설정으로도 가능합니다. 그러면 다르게 특정 시트 다음으로 붙여넣기를 진행해보도록 하겠습니다. 이럴 경우에는 Copy(After = 기준 시트) 명령어를 입력해주면 됩니다. 그러면 코드를 실행해보도록 하겠습니다.
import win32com.client as win32
# Excel 인스턴스 생성
excel = win32.Dispatch('Excel.Application')
# 워크북 열기
wb = excel.Workbooks.Add()
excel.Visible = True
# 시트 접근
ws = wb.Sheets
sheet3 = wb.Sheets.Add()
sheet3.Name = 'Copy_sheet'
sheet4 = wb.Sheets.Add()
sheet4.Name = 'example1'
sheet5 = wb.Sheets.Add()
sheet5.Name = 'exmaple2'
sheet3.Copy(After=sheet5)
위의 코드를 입력하여 실행하면 다음과 같은 결과가 나타나빈다.
이와 같은 방법으로 시트를 복사할 수 있습니다.
파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기
이번 포스팅에서는 파이썬[Python] Win32com을 이용하여 엑셀 시트 복사하기라는 주제로 포스팅을 진행했습니다. 이 부분은 실제 많이 사용되는 부분이기 때문에 잘 활용할 수 있을 것입니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.