ExcelファイルをアノテーションでPOJOにマッピングするライブラリ、XLSBeans 1.2.3をリリースしました。
https://github.com/takezoe/xlsbeans
このバージョンでの修正点は以下の通りです。今回は以前から要望の多かった型変換のカスタマイズなど、久しぶりにいくつかの新機能を実装しています。
- @HorizontalRecordsや@VerticalRecordsアノテーションのrecordClass属性はオプションになった。デフォルトではListの場合はジェネリクスの型パラメータから、配列の場合は配列要素の型を使用します。
- XLSBeansの動作をカスタマイズするためのXLSBeansConfigクラスを導入。
- TypeConverterでプロパティの型に応じた型変換をカスタマイズできるようになった。
- セルの値を文字列にマッピングする際にトリムするかどうかを指定できるようになった。
- 見出しを指定してのマッピングで、空白などを無視するかどうかを指定できるようになった。
動作のカスタマイズには以下のようにXLSBeansConfigクラスを使用します。
// XLSBeansオブジェクトを生成 XLSBeans xlsBeans = new XLSBeans(); // 設定を変更 XLSBeansConfig config = new XLSBeansConfig(); config.setNormalizeLabelText(true); config.setTrimText(true); config.addTypeConverter(Date.class, new DateTypeConverter()); xlsBeans.setConfig(config); // Excelの読み込み UserList userList = xlsBeans.load( XLSBeansTest.class.getResourceAsStream("example.xls"), UserList.class);
読み込みに関しては機能面ではもうあまりやることがないのですが(便利なマッピングオプションの追加くらいでしょうか)、ドキュメントはもう少しちゃんと書かないといけないですね…。