Hatena::ブログ(Diary)

d.hatena.ne.jp/jun66j5/

Sunday, 13 September 2009

Trac のカスタムクエリやレポートを Excel HTML 形式でダウンロードできるようにするプラグイン

ついこの間 ExcelReportPlugin を使いたくなりインストールを試みようとしたのですが、「Trac に ReportPluginPatch を当てる必要がある」「pyExcelerator が必要」ということに気づきました(いまさら)。

ここでパッチを当てるのはまあ仕方ないか…と思ったのですが、pyExcelerator は python 2.4+ を要求しています。インストール先の環境は python 2.3 なのです。これではプラグインを使うことが出来ません。

そこで別途ライブラリを必要とせず python 2.3 環境でも Excel 出力できるプラグインを書きました。と言っても本物の Excel ファイルを出力できるわけではなく Microsoft Office HTML という形式で出力します。この形式なら Trac + Genshi だけで処理できます。

どんな形式なのかは How to format an Excel workbook while streaming MIME content, Microsoft Office HTML and XML Reference あたりを見てください。

github に置いてみました。実験コードだし github が使ってみたかったので。

http://github.com/jun66j5/tracmsofficexmlplugin

いまのところ、以下のような感じになっています。

  • Trac 0.11.5 英語版でしか確認していません
  • カスタムクエリを Excel HTML でダウンロード
  • カスタムクエリを Excel XML でダウンロード (列の幅などまったく調整していません)
  • レポートを Excel HTML でダウンロード (ReportPluginPatch なしで)
  • python 2.3 で動きます (HTML/XML を出力しているだけだから)
  • もちろん Excel で開けます

プラグインを有効にするには trac.ini に以下の記述を足してください

[components]
tracmsofficexml.* = enabled

有効にすると以下のような感じでリンクが増えるようになっています。

カスタムクエリf:id:jun66j5:20090913041233p:image
レポート f:id:jun66j5:20090913041230p:image

レポートを Excel HTML でダウンロードしたところ。

f:id:jun66j5:20090913182906p:image

興味があれば遊んでみてください。

p.s. 実はこのプラグインの大部分を書いた後に ExcelReportPluginをpython2.3で利用するhack | Ryuzee.com の記事を見つけました。「python 2.3 だから ExcelReportPlugin 入れられない」って人はこちらを試してみてはどうでしょうか。

かにょんかにょん 2010/01/22 18:01 tracmsofficexmlpluginを導入してみたのですが、Excel HTML のボタンを押下すると確かにexcelで表示されますが、ヘッダー情報部分のみ表示されて、肝心の一覧部分が表示されません。何が悪いのでしょうか?
-------
{1} 未解決チケット (2 件のマッチ)
全コンポーネント、全バージョンの未解決チケットを優先度順に表示します。
優先度別の色付けを行っています。
-------

jun66j5jun66j5 2010/01/25 12:28 日本語版 Trac で確認したことがないので、もしかしたそのせいなのかも知れません。
確認してみたいと思いますので Trac のバージョンと、あと Excel のバージョンも教えていただいてもよろしいでしょうか?

かにょんかにょん 2010/02/04 14:15 お世話になります。
他の部分の構築に手間取っていて返信が遅くなりました。

Trac のバージはTrac-0.11.5.ja1-py2.5
Excel のバージョンはExcel2000

です。

jun66j5jun66j5 2010/03/10 19:44 1ヶ月も放置状態でごめんなさい。
問題は再現して、いましがた修正してみました。
よければ修正版を試してみてもらえますか?

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/jun66j5/20090913/trac_export_excelhtml