Google App Engine で Excel を作成しダウンロードさせる(2)

先日、Google App Engine から Excel を作成するテストをしたが、ブランクシートだったので、内容を実装してみる。

前提については、こちら、実際のアプリケーションはこちら を参照。

cocomo_xls01

ワークブックの文字コードをUTF-8に設定する

 wb = xlwt.Workbook(encoding='utf-8')
 ws = wb.add_sheet(u'COCOMO')

タイトル項目のフォントを設定する

 font_title = xlwt.Font()
 font_title.bold = True 
 style_title = xlwt.XFStyle()
 style_title.font = font_title

 wb = xlwt.Workbook(encoding='utf-8')
 ws = wb.add_sheet(u'COCOMO')

 ws.write(2, 2, u'COCOMO による工数計算', style_title)

ハイパーリンクを作成する

カラーインデックスが、どうもExcel のカラーインデックスと異なるようだ。

 font_link = xlwt.Font()
 font_link.colour_index = 4
 font_link.underline = xlwt.Font.UNDERLINE_DOUBLE
 style_link = xlwt.XFStyle()
 style_link.font = font_link

 n = "HYPERLINK"
 ws.write(2, 3, xlwt.Formula(n + '("http://typea-service.appspot.com/cocomo";"COCOMO")'), style_link)

列幅を指定する

実際の Excel の列幅を 100倍して、16進にした値を指定するようだ。

 wb = xlwt.Workbook(encoding='utf-8')
 ws = wb.add_sheet(u'COCOMO')

 col_w = (0x0a00,0x1e00,0x0a00,0x0a00,0x2800,0x0a00,0x0a00,)
 for i, v in enumerate(col_w):
     ws.col(i).width = v

簡単な設定なら、xlwt のサンプルが結構わかりやすいので、まぁトライアンドエラーで何とかなりそう。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です