Use o ponto de interesse para analisar o Excel, mas receba a exceção "Assinatura de cabeçalho inválida"

Eu estava tentando usar o Apache POI (versão 3.6) para analisar o arquivo .xls do Excel, mas recebi apenas a exceção:

java.io.IOException: Invalid header signature; read 0x07B1FD124BEDF108, expected 0xE11AB1A1E011CFD0

Eu tenho Googled algum resultado, que basicamente disse que "O arquivo não é realmente um arquivo válido do Excel (ou seja, .csv e assim por diante), mas terminou com o sufixo .xls". Mas tenho certeza que meu arquivo excel é válido (no formato Excel97-2003).

Por questões de sigilo, eu não pude postar meu excel, mas quando eu uso o modo hexl do emacs para visualizar este arquivo binário do excel, o cabeçalho é:

D0CF 11E0 A1B1 1AE1

Eu acho que é exatamente o que o POI esperava (E11AB1A1E011CFD0, mas em big-endian). Mas por que eu recebi a exceção?

BTW, se eu usar o vim com o comando%! Xxd para ver o mesmo arquivo do excel, eu tenho um cabeçalho diferente do eamcs:

C390 C38F 11C3 A0C2

E todo o arquivo binário parece totalmente diferente. Eu não entendo.

Obrigado pela sua ajuda!

questionAnswers(2)

yourAnswerToTheQuestion