POIのHSSFSheet.createRow(int) の実装が変わってた

3.1-FINALまでは、createRow(int) すると、既にそのインデックスの行が存在してたらその行を戻して、なければ HSSFRow をnewして戻してたのが、3.2-FINALから上書きというかなんというか、まっさらな行が戻ります。

なので、横展開するたびに新しい行が生成されたので、最後のレコードしか表示されないという事態に相成った模様。

キャッシュしたいなら利用者側でやれよ、というポリシーになったみたいですね。まあ「create」云ってるのに既存の奴を戻す実装の方がどうなのか、という話なんですが。やられた〜。