org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\poifiles\poi-ooxml-1632308685.tmp'
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:102)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:199)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:178)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:53)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:176)
Truncated. see log file for complete stacktrace异常发生的地方在这段代码中 InputStream is = new FileInputStream(fileAddr);
Workbook workBook = null;
if (file.getFileExt().endsWith("xls")) {
workBook = new HSSFWorkbook(is);
}else if (file.getFileExt().endsWith("xlsx")) {
//if (!is.Supported()) {
         //is = new PushbackInputStream(is, 8);
     //}
//if (!POIXMLDocument.hasOOXMLHeader(is)) {
         workBook =  new XSSFWorkbook(is); 
     //}
}

解决方案 »

  1.   

    不是要操作excel2007吗?怎么打开的是 ”poi-ooxml-1632308685.tmp“ .tmp后缀的?
      

  2.   

    改为了 workBook =  new XSSFWorkbook(OPCPackage.open(is)); 
    这样的话也报了个错 
    org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]
    at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:147)
    at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:585)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:222)
    at jsp_servlet.__excel_upload._jspService(__excel_upload.java:158)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
    Truncated. see log file for complete stacktrace
      

  3.   

    还有看到这样写的 workBook =  new XSSFWorkbook(fileAddr); 
    这样也报错 org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: 'E:\Workspaces\Prp_Undwrt\piccallweb\excel\1343196674078.xlsx'
    at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:102)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:199)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:178)
    at org.apache.poi.POIXMLDocument.openPackage(POIXMLDocument.java:62)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:188)
    Truncated. see log file for complete stacktrace
      

  4.   

    碰到了lz一样的问题,各种一样啊有木有!!!想问下lz怎么解决地……
      

  5.   

    是不是你打开了一个Excl文件啊 再上传读的。。
      

  6.   

    内存溢出可以用eventmodel读取试试,不过能读不能写,适用只读的情况下;
    至于楼主的问题,不晓得,也没碰到过。
    你们导入的是标准的excel2007的文件?换poi最新版本试试。
      

  7.   

    用的就是POI ,数据较大 ,刚开始读就内存溢出了
      

  8.   

     org.apache.poi.openxml4j.exceptions.InvalidOperationException怎么问题怎么解决啊