14. XLSBeansとの違い

XlsMapperは、XLSBeans ver.1.1 のソースを元に開発を行っています。

そのため、仕様、特にアノテーションの使い方はXLSBeansと共通しています。 XLSBeansとの違いを以下に示します。

14.1. 改善機能

  • アノテーションの名称を @Xls~ (例. @Column => @XlsColumn ) として、他のライブラリのアノテーションと区別がつきやすいようにしています。

  • アノテーション @XlsCell などセルの座標を指定する際に、Excel形式 A3 のように指定する 属性address を追加し、指定しやすいようにしています。

  • エラーメッセージの内容を詳細に表示し、設定間違いの対応をしやすくしています。

  • Generics対応として、@XlsMapColums、@XlsIterateTables にも対応しており、マッピング先のClassを指定する必要がありません。

  • シートの座標位置の取得 が、@XlsMapColumn を付与したフィールドにも対応しています。

    • フィールド Map<String, String> positions を定義しておけば、キーに見出し名が入ります。

  • アノテーションを付与するフィールドの修飾子として、public以外のprivate/protectedにも対応しています。

14.2. 追加機能

14.3. 削除機能

  • コードをシンプルにするため、JExcelAPI対応を排除し、Apache POIのみに対応しています。

    • XlsMapperのプログラム中で利用する機能でJExcelAPIに優位であったユーザ定義などの書式対応は、外部ライブラリ excel-cellformatter を利用することでJExcelAPIとApache POIの差をなくしています。

  • アノテーション @PostProcessor を削除しました。

    • 代わりに、@XlsPreLoad/@XlsPostLoad/@XlsPreSave/@XlsPostLoad が使用できます。

  • 独自実装のProcessorを、プロパティファイル xlsbeans.properties で設定できる機能を削除しました。

    • 代わりに、システム設定用の Configuration#getConverterRegistry()#registerProcessor(...) から登録できます。