Apache POI. Invalid header signature

Al intentar abrir un fichero con la librería POI de Apache, nos podemos encontrar un con mensaje de error parecido al siguiente:

[ERROR] Invalid header signature; read 0x3231343130323030, expected 0xE11AB1A1E011CFD0
java.io.IOException: Invalid header signature; read 0x3231343130323030, expected 0xE11AB1A1E011CFD0
	at org.apache.poi.poifs.storage.HeaderBlockReader.<init>(HeaderBlockReader.java:107)
	at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:151)

Este error está provocado porque el objeto espera un objeto de tipo Stream creado a partir de la lectura de un fichero Excel 2003 o anterior (*.xls;*.xlt). Si visitamos la página POIFS File System Internals, hacia el final de la página, en el apartado File System Structures, podemos encontrar el «por qué» de este error.

Scroll al inicio