« Railsの性能は伊達ではない!! by アムロ風 | メイン | Excel出力(つづき) »

Excel出力

現在、作っている社内システムは出力帳票をExcelで作る必要があります。

調べたところRailsはExcelを作る機能はない(当たり前か)ので、
Rubyの他のライブラリを調べましたところ、Spreadsheetなるものが
ありましたので、早速使ってみました。

おぉ、軽快、軽快。いい感じです。
ただ、罫線などが引けないとかスタイルが指定できないなど
ちょっと業務アプリで使用するには、寂しい感じです。

それで、次ぎに考えたのは”JavaBridge"です。
これは、RubyからJavaを、言語レベルでほぼ制御できます。
Good Job!!
それで、JavaでExcelを制御するEJakarta POIをRubyから使ってみました。
良い感じでExcelファイルが作成できました。

めでたし。めでたし。

と言いたいところでしたが、問題がありました。
JavaBridgeは、どうもJavaのメソッドをコールする毎にRubyからJavaに
コールしているらしく、その頻度が多くなると、そのオーバヘッドで
めちゃくちゃ速度が遅くなってしまいます。

例えば、同じ処理をSpreadsheetで実行すると 1秒に対し、JavaBrideだと90秒
かかったりします。

このような欠点がありますが、上記を考慮した上でJavaBridgeを使用すれば、
Rubyは最強になりそうですね。

ところで、本題のExcelはどうしようかな。。。続く。

トラックバック

このエントリーのトラックバックURL:
http://blog.thanks-gunpla.com/mt/mt-tb.cgi/96

コメントを投稿