"win32com"에 해당되는 글 1건

  1. 2008/03/31 Python 놀이 (2)

Python 놀이

2008/03/31 01:04
요즘은 Python으로 Excel을 두들겨보는 중이다.

바로 COM(Componenet Object Model)이란 인터페이스를 통한 것인데,

왠만한 Microsoft의 WIndows용 프로그램은 이 인터페이스를 가지고 있는 듯 하다.

사실 인터넷 쇼핑몰에서 아르바이트를 하면서 단순 엑셀 작업이 상당히 많은데,

어떻게 하면 편하게 할 수 있을까 잔머리를 굴리다가 오래전에 본 기억이 있어서 찾아봤다.

아래는 간단한 샘플 코드.

from win32com.client import Dispatch
excel = Dispatch("Excel.Application")
myWorkkbook = excel.Workbooks.Open("dummy.xls")
mySheet = myWorkbook.ActiveSheet

mySheet.Name = "발송확인"
mySheet.Cells(5, 3).Value = "테스트"

myWorkbook.Save()
excel.Quit()

보이는대로 인터페이스가 매우 간단하다.
시트의 이름 바꾸기라던가, 특정 셀의 값을 변경한다던가 하는 작업도 매우 간단해진다.

특히 Dispatch해 온 excel의 Visible 속성 값을 1로 바꾸면, (excel.Visible = 1)
보이지 않게 구동된 Excel이 화면에 나타나서 값이 적용되는 과정을 직접 볼 수 있다.

사용된 모듈은 win32com이며 홈페이지는 여기로...

이 모듈은 내부적으로는 해당 오브젝트에 요청한 속성(property)가 있는지 쿼리하여
필요할 때만 바인딩(late-binding)을 수행한다고 한다.
여기에 wxPython을 붙여서 번듯한 프로그램으로 완성시켜 봐야겠다.

봄이라 그런가 글이 매우 딱딱하다.
뭔가 핑크빛 감정 충전이 필요한 시기.