S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

名前を付けたセルが存在するブックが開けない

POI 3.0.1-FINAL
普通に

HSSFWorkbook = new HSSFWorkbook(new FileInputStream(file));

って感じで、Excelファイルを開くと、

org.apache.poi.hssf.record.RecordFormatException: Unable to construct record instance
	at org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:191)
	at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:115)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:205)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:257)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:238)

ってなExceptionが出た。
なんで?って、Excelファイルでなんか小細工しとるかな?と調べてみる。
セルを結合してるくらいかなぁ?と、見てたらセルに名前を定義してたんで、それを削除してみたらOKになった。
と、何気に名前が全角文字だったので、試しに半角文字で名前付けたらOKになった。
文字コードの問題???


んで、POIのAPIにセルの名前でセルのオブジェクトが取得できるようなメソッドができれば、セルの名前をフィールド名としたりすれば、JasperReportsやSVFなんかと同じ感覚で帳票作成ができるのにね。