본문 바로가기

파이썬/Pywin32

파이썬 엑셀 컨트롤, 워크시트란?

반응형

파이썬 엑셀 컨트롤 - 워크시트

 

1. 워크시트(Worksheets)란? 

    워크시트는 엑셀 워크북 하단에 탭으로 구성된 각각의 객체이다. 

이를 확인하기 위해 곧바로 아래 코드를 실행시켜보자. 

from win32com.client import Dispatch
excel = Dispatch("Excel.Application")

# 엑셀 창 화면에 보이기
excel.Visible = True

# 워크북(*.xlsx) 새로 만들기
# 파일 -> 새로만들기와 동일 
wb = excel.Workbooks.Add()

# 워크시트 추가하기1
ws1 = wb.Sheets.Add()
# 워크시트 추가하기2
ws2 = wb.Sheets.Add()
# 워크시트 추가하기3
ws3 = wb.Sheets.Add()

# 추가된 워크시트의 이름 소환
for sheet in wb.Sheets:
    print(sheet.Name)

 

    위를 실행한 결과 엑셀 워크북이 새로 생성되고 시트 4장이 추가된다. Sheet1은 워크북 생성시 자동으로 추가되는 시트이다. 따라서 시트 3개 추가시 총 4개의 시트가 생긴다. 

반응형

 

 

    마지막으로 print 출력값은 아래와 같이 각 시트의 이름이 소환된다. 

Sheet4
Sheet3
Sheet2
Sheet1

 

    즉, 워크북에 있는 시트이름을 확인할때에는 시트 객체 변수에 ".Name" 속성으로 확인하면 된다. 

위에서 생긴 4개의 시트들은 wb.Sheets 라는 속성값에 파이썬 제너레이터 형태로 저장되어 있다. for 문이나 리스트 컴프리헨션(list comprehension)을 사용해서 각 시트를 컨트롤하는 변수를 소환할 수 있다. 

 

    리스트 컴프리헨션으로 소환하려면 아래와 같이 하면 된다. 

sheets_list = [sheet for sheet in wb.Sheets]

 

 

반응형