我试图使用Apache POI(版本3.6)来解析Excel的.xls文件,但只拿到了异常:
java.io.IOException: Invalid header signature; read 0x07B1FD124BEDF108, expected 0xE11AB1A1E011CFD0
我用Google搜索了一些成绩,基本上说,“该文件其实并不是一个有效的Excel文件(即.csv,依此类推),但后缀.xls的结束”。 但我敢肯定,我的Excel文件是有效的(在Excel97-2003格式)。
对于保密的考虑,我不能发布我的excel,但是当我用emacs hexl模式来查看这个二进制excel文件,标题是:
D0CF 11E0 A1B1 1AE1
我认为这正是POI预期( E11AB1A1E011CFD0
,但以big-endian)。 但是,为什么我得到的异常?
!顺便说一句,如果我使用vim用命令%XXD查看相同的excel文件,我得到了一个头不同于eamcs:
C390 C38F 11C3 A0C2
而整个二进制文件似乎完全不同。 我不明白。
感谢您的帮助!