1
FileInputStream file = new FileInputStream("/file/path/report.xlsx");
XSSFWorkbook wb = new XSSFWorkbook(file); --!ERROR LINE!--
2行目にエラーが表示されます。私はZipSecureFile.setMinInflateRatio(0.009)を加えjava.io.IOException:ZIPエントリーの読み込みに失敗しました
Error reading Excel .XLSX with Apache POI
Exception in thread "main" java.io.IOException: Failed to read zip entry source
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:106)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:342)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:285)
at test.test.main(test.java:48)
Caused by: java.io.IOException: Zip bomb detected! The file would exceed the max. ratio of compressed file size to the size of the expanded data. This may indicate that the file is used to inflate memory usage and thus could pose a security risk. You can adjust this limit via ZipSecureFile.setMinInflateRatio() if you need to work with files which exceed this limit. Counter: 1483367, cis.counter: 14796, ratio: 0.009974605070761314Limits: MIN_INFLATE_RATIO: 0.01
at org.apache.poi.openxml4j.util.ZipSecureFile$ThresholdInputStream.advance(ZipSecureFile.java:257)
at org.apache.poi.openxml4j.util.ZipSecureFile$ThresholdInputStream.read(ZipSecureFile.java:214)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource$FakeZipEntry.<init>(ZipInputStreamZipEntrySource.java:132)
at org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource.<init>(ZipInputStreamZipEntrySource.java:56)
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:99)
... 4 more
;:私はこのようなさまざまなオンラインリソースを見て
FileInputStream file = new FileInputStream("/file/path/report.xlsx");
ZipSecureFile.setMinInflateRatio(0.009);
XSSFWorkbook wb = new XSSFWorkbook(file);
それはそれはすべてのヘルプやガイダンスが高く評価されているのと同じエラーに
を投げ始め、しばらくの間、うまく働きました。
、何が起こりますか? – Gagravarr
@Gagravarr私はファイルを信頼しますが、チェックを無効にする方法はありますか? like、ZipSecureFile.setMinInflateRatio(-1.0d); ? – Chid
IIRCでは、チェックを無効にするために '0'の比率を設定できますが、ファイルを信頼する場合にのみ行います! – Gagravarr