我们在使用Apache打开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文件中的什么会触发此异常有任何提示?
发布于 2020-02-17 09:16:10
通过FTP以文本形式上传的Excel文件,从而将\r\n转换为\n。而不是二进制数据类型。
当上传发生在Windows上,而上传的文件要小几个字节,统计上是0.4%时,就可以看出这一点。
https://stackoverflow.com/questions/60223619
复制相似问题