Google App Engine で Excel を作成しダウンロードさせる(2)
先日、Google App Engine から Excel を作成するテストをしたが、ブランクシートだったので、内容を実装してみる。
前提については、こちら、実際のアプリケーションはこちら を参照。
ワークブックの文字コードを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 のサンプルが結構わかりやすいので、まぁトライアンドエラーで何とかなりそう。