Java org.apache.poi.openxml4j.exceptions.invalidoOperationException:尝试使用poi读取.csv文件时无法打开指定的文件

Java org.apache.poi.openxml4j.exceptions.invalidoOperationException:尝试使用poi读取.csv文件时无法打开指定的文件,java,excel-2007,apache-poi,Java,Excel 2007,Apache Poi,信息:服务器启动时间为1778毫秒 org.apache.poi.openxml4j.exceptions.invalidoOperationException:无法打开指定的文件:“C:\Users\raj\AppData\Local\Temp\poifiles\poi-ooxml-2049907849.tmp” 位于org.apache.poi.openxml4j.opc.ZipPackage.ZipPackage.java:102 在org.apache.poi.openxml4j.opc

信息:服务器启动时间为1778毫秒 org.apache.poi.openxml4j.exceptions.invalidoOperationException:无法打开指定的文件:“C:\Users\raj\AppData\Local\Temp\poifiles\poi-ooxml-2049907849.tmp” 位于org.apache.poi.openxml4j.opc.ZipPackage.ZipPackage.java:102 在org.apache.poi.openxml4j.opc.OPCPackage.openOPCPackage.java:199 在org.apache.poi.openxml4j.opc.OPCPackage.openOPCPackage.java:178 位于org.apache.poi.util.PackageHelper.openPackageHelper.java:53 位于org.apache.poi.xssf.usermodel.XSSFWorkbook.XSSFWorkbook.java:155 位于com.web.controller.ExcelReader.processUploadedFileExcelReader.java:83 位于com.web.controller.ExcelReader.doPostExcelReader.java:68 位于javax.servlet.http.HttpServlet.serviceHttpServlet.java:641 位于javax.servlet.http.HttpServlet.serviceHttpServlet.java:722 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicationFilterChain.java:305 位于org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilterChain.java:210 位于org.apache.catalina.core.StandardWrapperValve.invokeStandardWrapperValve.java:225 位于org.apache.catalina.core.StandardContextValve.invokeStandardContextValve.java:169 位于org.apache.catalina.authenticator.AuthenticatorBase.invokeAuthenticatorBase.java:472 位于org.apache.catalina.core.StandardHostValve.invokeStandardHostValve.java:168 位于org.apache.catalina.valves.ErrorReportValve.invokeErrorReportValve.java:98 位于org.apache.catalina.valves.AccessLogValve.invokeAccessLogValve.java:927 位于org.apache.catalina.core.StandardEngineValve.InvokeStandardenginievalve.java:118 位于org.apache.catalina.connector.CoyoteAdapter.serviceCoyoteAdapter.java:407 位于org.apache.coyote.http11.AbstractHttp11Processor.processAbstractHttp11Processor.java:999 位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.processAbstractProtocol.java:565 位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.runJIoEndpoint.java:309 位于java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1110 位于java.util.concurrent.ThreadPoolExecutor$Worker.runThreadPoolExecutor.java:603
在java.lang.Thread.runThread.java:722上,Apache POI只能通过HSSF读取Excel.xls,通过XSSF读取Excel.xslx。它无法打开CSV文件


要使用CSV文件,您需要使用另一个库。或者,如果将文件另存为.xls或.xlsx,则可以使用Apache POI来处理它。

我也遇到了同样的问题,将读/写权限更改为C:\Users\raj\AppData\Local\Temp\poifiles,这样就行了。正如@Gagravarr提到的,我使用的是.xls文件。不是.csv格式。它可能会帮助某人