Jython で Apache POI

Java で書いたら throws 書けとか言われてうんざりしたので(ぉ). テンプレートとなる EXCEL ファイルを用意しておいて、そこに DB のデータを流し込んで印刷すると便利かなーと思ったので.

from org.apache.poi.hssf.usermodel import *
from java.io import *

def read_book(fname):
    fin = FileInputStream(fname)
    wb = HSSFWorkbook(fin)
    fin.close()

def write_book(fname):
    fout = FileOutputStream(fname)
    wb.write(fout)
    fout.close()

wb = read_book("template.xls")
sheet = wb.getSheetAt(0)
for i in range(4, 10):
    row = sheet.getRow(i)
    cell = row.getCell(10)
    cell.setCellType(HSSFCell.CELL_TYPE_STRING)
    cell.setCellValue(HSSFRichTextString(str(i)))
write_book("result.xls")