什么样的头部签名是0x7473657571655220?

我试图读取与Apache POI的Excel文件。 但是,在运行时我得到一个NotOLE2FileException。 我发现这个问题是相似的,但是这里的错误显然是没有文件的。 我其实有一个文件,并有一个签名,但我不知道是什么样的签名,或者我怎样才能读取文件。 Google不会产生任何结果。

我的代码:

File file = new File("mypath/myfile.xls"); if(!file.exists()){ throw new IllegalArgumentException("File does not exist"); } try { Workbook wb = WorkbookFactory.create(file); //<--- throws exception //etc... 

错误:

 org.apache.poi.poifs.filesystem.NotOLE2FileException: Invalid header signature; read 0x7473657571655220, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:181) at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:140) at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:232) at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:168) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:250) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:222) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:201) at providers.ExcelFileReader.getRequestsFromExcelFile(ExcelFileReader.java:25) at Test.main(Test.java:13) 

我只需要了解为什么我的xls文件有一个奇怪的标题,这意味着什么,才能够解决这个问题。 有人知道吗? 可能有任何解决办法?

更新:据我所知,这是一个完全有效的Excel文件: 在这里输入图像说明

0x74736575716552的ASCII等价物是"tseuqeR""Request"拼写反向)。 看起来你有一个纯文本文件,你要求POI打开为Excel文件。

我首先检查了维基百科的文件签名列表,当我没有find任何使用ASCII表格(如果你在Linux上的话,则在这里在线 )来将每两个hex数字转换为等同的字符。