Pythonを使ってExcelファイル(拡張子xlsx)を作成できるモジュールです。Excel2007以降で登場したテーブルを生成したり、それぞれのセルプロパティをいじったり、割と本格的な帳票を作ることができます。
いろいろ事情があって最終的な出力形式はExcelじゃなければいけないけど、入力がとても面倒くさくとても普通にExcelなんか書いていられない なんて時にオススメ。
とりあえず、さわりだけ。
インストール
とりあえず、easyinstallでインストールができます。Windows環境下でもこれでOK
> easy_install xlsxwriter
基本的な使い方
まずはimport xlsxwriter
してモジュールをインポートします。
次に、ファイル名を指定してワークブックを作り、必要に応じてワークシートを何枚か挿入、処理が終わったらワークブックをクローズするとファイルができあがる感じです。
import xlsxwriter
wb = xlsxwriter.Workbook('test.xlsx')
ws = wb.add_worksheet("シート名")
ws.write(0, 0, "テストテストテスト")
wb.close()
テーブルの作成
Excel2007以降で追加されたテーブルを作成することもできます。
# 前略
data = []
headers = [
{ "header": "ヘッダ1"},
{ "header": "ヘッダ2"},
{ "header": "ヘッダ3"}]
ws.add_table(0, 0, len(data) - 1, len(headers) - 1, {
'data': data,
'autofilter': True,
'header_row': True,
'banded_rows': True,
'banded_columns': True,
'first_column': True,
'columns': headers
})
# 後略
これでテーブルができあがります。いいですね。
テーブル列の書式を変更する
自分が試したのはとりあえず「折り返して全体を表示する」だけ。
# 前略
format = workbook.add_format()
format.set_text_wrap()
ws.set_column(0, 0, 13)
ws.set_column(1, 2, 13, format)
# 後略
set_column()の第一引数には、このフォーマットを使う最初の列の列番号、第二引数には、最後の列の列番号、第三引数は、列幅、最後にフォーマットを規定するオブジェクトを用意している場合は、第四引数にそれを指定します。
もっと詳しくは。
モジュールのページにいろいろ情報が掲載されています。
http://xlsxwriter.readthedocs.org/en/latest/
画面右下を見るとPDFやePUB形式のリファレンスを入手できるという力の入れようです。