JavaでExcelを扱うライブラリ「ExCella」について

投稿者: | 2014年5月26日

JavaでExcelを扱うライブラリ「ExCella」について紹介します。
1.ExCellaについて

ExCellaとは、JavaからExcelを容易に扱える中~高レベルのAPIです。
Java Excel APIなどの低レベルのAPIを利用した際のコーディングの多さやExcelのバージョン違いを解決する目的でつくられました。

ExCellaは、ExCella-Core・ExCella-Report・ExCella-Transで構成されています。
・ExCella-Coreとは

JavaでExcelを操作するためのフレームワークです。
Excelのデータを簡単にJavaから利用できるようになります。

・ExCella-Reportとは

ExCella-Coreをベースとした帳票ツールです。
タグが記述されたExcelテンプレート(以下、テンプレート)から、ExcelまたはPDFを作成できます。
ピボットテーブル、ピボットグラフを利用した分析帳票を作成することもできます。

・ExCella-Transとは

ExCella-Coreを利用したデータ移行支援ツールです。
Excelで定義したデータからSQLとO/Rマッピングツールで利用できるエンティティを作成することができます。

2.ExCella-Reportの特徴
帳票ツールのExCella-Reportの特徴について説明します。
・ExcelとPDFの出力が可能

ExcelだけでなくPDFの出力も行えます。
PDFの出力はOpenOfficeのPDF変換を利用して行われます。

・値の出力方法が豊富

タグを値に置換する他、行または列方向に繰返置換する出力方法などがあります。
行または列方向に繰返置換する際は、テンプレートにタグを1つ記述すれば出力可能なため便利です。
また、既存のタグでは用途を満たせない場合はタグを拡張することもできます。

・画像の出力が可能

JPEGとPNGにのみ対応しています。
画像は高さ・幅・縮尺の設定が行えます。

・行の高さ、列の幅の取得が可能

行の高さの取得、列の幅の取得はできますが
設定はできないようです。

・独自に定義したクラスからの出力が可能

独自に定義したクラスのオブジェクトが使用できます。
クラスを作成する際にはgetterメソッドが必須です。
getterメソッドがないとテンプレートに値が出力できません。
置換のタグはクラスのフィールド名がそのまま使えます。

・帳票作成時に任意の処理を行うことが可能

ブック解析前、シート処理前(パラメータ置換前)、シート処理後(パラメータ置換後)、ブック解析後(出力前)のいずれかで任意の処理を行うことができます。

・対応環境とライセンス

対応環境・・・Java:J2SE 5.0以上
Excel:2000(xls)~2007(xlsx)
ライセンス・・LGPL v3

※ExCella-Transについては用途が特殊なので省略します。
3.まとめ

上記のような特徴の他、リファレンスがしっかりしていてサンプルもあるのでこれから使ってみようと思う方におすすめです。

今後、ExCellaのような高水準のライブラリが出てくることに期待したいです。
<参考サイト>
ExCella
システム構築のご依頼でしたらお気軽にご相談下さい。
弊社お問い合わせ