我正在尝试读取xlsx文件以获取数据表单文件 但是我的代码像这样产生了eroor
apache poi无法正常工作或帮助阅读xlsx文件
任何可以告诉我需要做什么来解决这个错误
或以其他方式在java中读取xlsx文件
Exception in thread "main" java.lang.IllegalStateException: Zip File is closed
at org.apache.poi.openxml4j.util.ZipFileZipEntrySource.getEntries(ZipFileZipEntrySource.java:45)
at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:161)
at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:662)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:223)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:186)
at ExampleEventUserModel.processOneSheet(ExampleEventUserModel.java:18)
at ExampleEventUserModel.main(ExampleEventUserModel.java:115)
答案 0 :(得分:6)
通过提供绝对路径而不仅仅是文件名,我遇到了类似的问题和修复。
而不是给予
OPCPackage pkg = OPCPackage.open(filename);
你可以提供
OPCPackage pkg = OPCPackage.open(absolutePath +“/”+ filename);
答案 1 :(得分:1)
如果要阅读xlsx文件。我们必须使用
XSSFWorkbook workBook = new XSSFWorkbook(inputStream);