Неверный заголовок LO C (неверная подпись) при открытии файла Excel - PullRequest
0 голосов
/ 14 февраля 2020

Мы столкнулись с ошибкой при попытке открыть файл Excel с Apache POI. Вызов 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 голос
/ 17 февраля 2020

Файл Excel, загруженный через FTP как текст , следовательно, преобразующий \r\n в \n. Вместо типа двоичные данные это.

Это можно увидеть, когда загрузка происходит на Windows, а загруженный файл на пару байтов меньше, статистически на 0,4%.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...