Я пытаюсь открыть существующий файл xlsx (Ms-excel 2010), чтобы добавить дополнительные данные с помощью Apache-POI (v 3.15).
Существующий файл xlsx (размер 700 КБ) содержит несколько вкладок с сводные таблицы, диаграммы и т. д.
File file = new File(FILE_PATH);
OPCPackage opcPackage = OPCPackage.open(file);
XSSFWorkbook wbk = new XSSFWorkbook(opcPackage);
Но выброшенное исключение, как показано ниже,
Причина: java.io.IOException: Обнаружена Zip-бомба! Файл превысит макс. отношение размера сжатого файла к размеру расширенных данных. Это может указывать на то, что файл используется для увеличения использования памяти и, таким образом, может представлять угрозу безопасности. Вы можете настроить этот лимит с помощью ZipSecureFile.setMinInflateRatio(), если вам нужно работать с файлами, которые превышают этот лимит. Счетчик: 819241, cis.counter: 8192, коэффициент: 0,009999499536766349Ограничения: MIN_INFLATE_RATIO: 0,01 в org.apache.poi.openxml4j.util.ZipSecureFile$ThresholdInputStream.advance(ZipSecureFile.java:257)
Я попробовал следующие изменения:
1. попытался изменить "ZipSecureFile.setMinInflateRatio()", чтобы исправить tihs, но JVM вылетает с ошибкой пространства в куче (хотя я выделил более 4 ГБ)
2. попытался использовать inputsteam , Workbookfactory.create для создания книги, пытался открыть как SXSSF.
Но ничего из этого не сработало для меня. У кого-нибудь есть идеи?