有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java打开Excel文件时LOC头无效(签名错误)

尝试使用Apache POI打开Excel文件时遇到错误。调用new XSSFWorkbook(excelFile)导致:

 org.apache.poi.openxml4j.exceptions.InvalidFormatException: invalid LOC header (bad signature)
 at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.parseRelationshipsPart(PackageRelationshipCollection.java:369) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:164) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:132) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.PackagePart.loadRelationships(PackagePart.java:561) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:109) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:80) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:125) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.ZipPackagePart.<init>(ZipPackagePart.java:78) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:241) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:684) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:254) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:201) ~[tika-app-1.11.jar!/:1.11]
 at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:301) ~[tika-app-1.11.jar!/:1.11]

然而,并不是所有的文件都是这样。有些工作很好

Excel文件位于我们无法完全访问的服务器上,因此很难知道哪些文件有效,哪些文件失败。我们认为这可能是密码保护,但不是,密码加密的文件给了我们另一个错误

是否有人对某些Excel文件中可能触发此异常的内容有任何提示


共 (1) 个答案

  1. # 1 楼答案

    通过FTP将Excel文件上载为文本,从而将\r\n转换为\n。它不是类型二进制数据

    当上传发生在Windows上,上传的文件小了几个字节,统计上减少了0.4%,这一点就可以看出