본문 바로가기

Language/python

xlwt - Excel 생성 모듈


 

xlwt 소개#

     pyExcelerator의 클론 프로젝트이며, COM 또는 엑셀의 설치가 없더라도 엑셀 파일을 생성을 가능하게 해주는 파이썬 모듈이다. 즉, 리눅스를 포함한 다른 플랫폼에서의 사용이 가능하다. 다운로드는 아래의 홈페이지에서 최신 버전을 받는다.

     별도의 문서가 있는것이 아니라, 예제를 통해서 사용방법을 익혀야 한다. 예제 파일들은 아래의 위치에서 확인가능하다.

xlwt 사용법#

기본 사용법#

     xlwt.Workbook을 생성하고, Sheet를 추가하여 Row/Col에 데이터를 쓸수 있다.

import xlwt
wbk = xlwt.Workbook()              # create Workbook
sheet = wbk.add_sheet('sheet 1')   # add sheet named 'sheet 1'
sheet.write(0,0,'Hello Excel')     # write 'Hello Excel' at (0,0) row & col
wbk.save('test.xls')                  # save

사용 예제 1 : Cell에 Overwrite 하기#

     기본 설정으로 덮어쓰기를 시도하면,

import xlwt

wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1')
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')

 

     다음과 같은 Exception을 볼 수 있다.

Traceback (most recent call last):
  File "C:\JOOHYUN\workspace\Python_Practice\src\xlwt_01.py", line 13, in <module>
    sheet.write(0,0,"11")
  File "C:\developer\Python_26\lib\site-packages\xlwt\Worksheet.py", line 1003, in write
    self.row(r).write(c, label, style)
  File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 231, in write
    StrCell(self.__idx, col, style_index, self.__parent_wb.add_str(label))
  File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 150, in insert_cell
    raise Exception(msg)
Exception: Attempt to overwrite cell: sheetname=u'Sheet 1' rowx=0 colx=0

     덮어쓰기를 가능하게 하려면 아래와 같은 설정을 해주어야 한다.

import xlwt

wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1', cell_overwrite_ok=True)
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')