POIを使って読み込めなかったエクセルファイルがあったので、それについてのメモです
2007/08/08
2007/08/10
未解決
POIを使って読み込めなかったエクセルファイルがあったので、それについてのメモです。
解決策をみつけたわけではないです。
java.io.IOException: Unable to read entire block; 472 bytes read; expected 512 bytes
at org.apache.poi.poifs.storage.RawDataBlock.(RawDataBlock.java:67)
at org.apache.poi.poifs.storage.RawDataBlockList.(RawDataBlockList.java:52)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:87)
at org.apache.poi.poifs.storage.RawDataBlock.
at org.apache.poi.poifs.storage.RawDataBlockList.
at org.apache.poi.poifs.filesystem.POIFSFileSystem.
上記のようなエラーがでました。
そのエクセルのファイルは、エクセルで読めます。
openofficeでも読めました。
そのエクセルファイルを512で、割れるようにバイナリエディターでお尻に文字列を入れたら、
構造がおかしいとエラーになりました。それはそうだ。。。
エクセルで別名で保存すればいいのですが、それだとプログラムで全部行うという解決策にはならない
Orz...
希望する解決策は、
POIを使用する際に、パラメータで解決できれば、うれしい。
マイクロソフトエクセルや、オープンオフィスをそのために起動したくない。。。
そもそもどうやったら読み込めないエクセルファイルができるのかが知りたい。
他のライブラリ(JExcelApi)で読んでもだめだった。
openofficeすごいな。
参考:
sc: Spreadsheet Project
JExcelApi
: