如何解决无效的头签名;读取0x6576206C6D783F3C,应为0xE11AB1A1E011CFD0错误java?
我正在从web应用程序导出.xls格式的文件。当我试图读取此文件时,它抛出错误为: java.io.IOException:头签名无效;读取0x6576206C6D783F3C,应为0xE11AB1A1E011CFD0 这是导出的文件,因此无法更改格式 这是我的代码,附件是excel文件:如何解决无效的头签名;读取0x6576206C6D783F3C,应为0xE11AB1A1E011CFD0错误java?,java,excel,io,filestream,Java,Excel,Io,Filestream,我正在从web应用程序导出.xls格式的文件。当我试图读取此文件时,它抛出错误为: java.io.IOException:头签名无效;读取0x6576206C6D783F3C,应为0xE11AB1A1E011CFD0 这是导出的文件,因此无法更改格式 这是我的代码,附件是excel文件: public void verifyExportedData() throws Exception{ String filename = "Top_Down_Planning_by_Investmen
public void verifyExportedData() throws Exception{
String filename = "Top_Down_Planning_by_Investment.xls"
File=new FileInputStream(new File("testdata/"+filename));
HSSFWorkbook workbook = new HSSFWorkbook(File);
HSSFSheet sheet=workbook.getSheet("Top Down Planning by Investmen");
DataFormatter formatter = new DataFormatter();
System.out.println("Cell data : "+sheet.getRow(0).getCell(1));
}
有人能帮忙吗?正在以与正常相反的顺序输出“预期”和“实际”文件签名。(这可能是一个大端对小端的事情…)
根据我在网上找到的一个来源,一个“.xls”文件的文件签名是
与“预期”签名匹配(反向)。因此,如果我反转“实际”签名,我得到
3C 3F 78 6D 6C 20 76 65
如果我把这些十六进制码转换成ASCII码
'<' '?' 'x' 'm' 'l' ' ' 'v' 'e'
“谢谢您的解释@Stephen C!我正在以.xls格式导出文件,该格式从应用程序中基于XML的格式转换而来。应用程序中有一个链接“导出到Excel”,该链接提供了此Excel文件。你知道我怎样才能成功地阅读它或使它成为.xls头格式吗??
'<' '?' 'x' 'm' 'l' ' ' 'v' 'e'
<?xml ve
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>