美文网首页
java操作Excel时java.io.IOException:

java操作Excel时java.io.IOException:

作者: 马云生 | 来源:发表于2021-12-15 18:21 被阅读0次

    Java通过POI操作Excel时有没有遇到过java.io.IOException: Failed to read zip entry source错误

    错误信息:

    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

    解决方法

    可以试试修改下面的配置

    设置ZipSecureFile为-1.0d

    FileInputStreamfile=newFileInputStream("/file/path/report.xlsx"); ZipSecureFile.setMinInflateRatio(-1.0d);XSSFWorkbookwb=newXSSFWorkbook(file);

    相关文章

      网友评论

          本文标题:java操作Excel时java.io.IOException:

          本文链接:https://www.haomeiwen.com/subject/roupfrtx.html