先日のエントリーでDbUnitが依存するPOIが古いということを書きました。
古いので、最新のOffice(2007)で作成されたExcelファイルは読めません。
(確かOffice2003までかな?)
最新の開発環境を与えられた人はDbUnitでデータ管理できないの?
となるわけですが。
DbUnit2.3.0 + POI3.1の環境で
作成したファイルを読めるか、ちょっと調べてみました。
1.Office2007を使用した場合、保存形式を
Excel 97-2003ブック (*.xls)
にすることで、新規に作成したファイルをPOIに読ませることができます。
(デフォルトの「*.xlsx」形式だとフォーマットが不正だ的なエラーが出ます)
2.OpenOffice.org 3.0のCalcでも、保存形式を
Microsoft Excel 97/2000/XP (.xls)(*.xls)
にすることで、新規に作成したファイルをPOIに読ませることができます。
3.XlsDataSet.writeメソッドで
出力したxlsファイルをOffice2007/OpenOfficeのどちらで修正しても
POIに読ませることができます。
DbUnitが新しい形式のExcelをサポートするまで
昔の形式をサポートしている間使い続けることができますね。