データ管理をExcelでしつつDbUnitを使う その2

先日のエントリーで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をサポートするまで
昔の形式をサポートしている間使い続けることができますね。