Использовать POI для разбора Excel, но получил исключение «Неверная подпись заголовка»
Я пытался использовать Apache POI (версия 3.6) для анализа файла Excel .xls, но получил только исключение:
java.io.IOException: Invalid header signature; read 0x07B1FD124BEDF108, expected 0xE11AB1A1E011CFD0
У меня есть какой-то результат Googled, в котором говорится, что «файл на самом деле не является допустимым файлом Excel (например, .csv и т. Д.), Но заканчивается суффиксом .xls». Но я совершенно уверен, что мой файл Excel действителен (в формате Excel97-2003).
Из соображений секретности я не смог опубликовать свое Excel, но когда я использую emacs hexl-mode для просмотра этого двоичного файла Excel, заголовок:
D0CF 11E0 A1B1 1AE1
Я думаю, что это именно то, что ожидал POI (E11AB1A1E011CFD0
, но в big-endian). Но почему я получил исключение?
Кстати, если я использую vim с командой%! Xxd для просмотра того же файла Excel, я получаю заголовок, отличный от eamcs:
C390 C38F 11C3 A0C2
И весь двоичный файл кажется совершенно другим. Не могу понять.
Спасибо за любую вашу помощь!