当前位置:编程学习 > JAVA >>

利用poi读取excel2007时报异常

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.markSupported()) {
         //is = new PushbackInputStream(is, 8);
     //}
//if (!POIXMLDocument.hasOOXMLHeader(is)) {
         workBook =  new XSSFWorkbook(is); 
     //}
} --------------------编程问答-------------------- 不是要操作excel2007吗?怎么打开的是 ”poi-ooxml-1632308685.tmp“ .tmp后缀的? --------------------编程问答-------------------- 改为了 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 --------------------编程问答-------------------- 还有看到这样写的 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 --------------------编程问答-------------------- 碰到了lz一样的问题,各种一样啊有木有!!!想问下lz怎么解决地…… --------------------编程问答-------------------- 我读取2007是报的内存溢出啊  请问怎么解决啊 --------------------编程问答-------------------- 是不是你打开了一个Excl文件啊 再上传读的。。 --------------------编程问答--------------------
引用 5 楼 MMUZHI 的回复:
我读取2007是报的内存溢出啊  请问怎么解决啊

内存溢出可以用eventmodel读取试试,不过能读不能写,适用只读的情况下;
至于楼主的问题,不晓得,也没碰到过。
你们导入的是标准的excel2007的文件?换poi最新版本试试。 --------------------编程问答--------------------
引用 7 楼 uyerp 的回复:
引用 5 楼 MMUZHI 的回复:我读取2007是报的内存溢出啊  请问怎么解决啊
内存溢出可以用eventmodel读取试试,不过能读不能写,适用只读的情况下;
至于楼主的问题,不晓得,也没碰到过。
你们导入的是标准的excel2007的文件?换poi最新版本试试。

用的就是POI ,数据较大 ,刚开始读就内存溢出了 --------------------编程问答--------------------
引用 8 楼 MMUZHI 的回复:
引用 7 楼 uyerp 的回复:引用 5 楼 MMUZHI 的回复:我读取2007是报的内存溢出啊  请问怎么解决啊
内存溢出可以用eventmodel读取试试,不过能读不能写,适用只读的情况下;
至于楼主的问题,不晓得,也没碰到过。
你们导入的是标准的excel2007的文件?换poi最新版本试试。
用的就是POI ,数据较大 ,刚开始读就内存溢出了
    ……

POI版本是最新3.9的啊 --------------------编程问答--------------------  org.apache.poi.openxml4j.exceptions.InvalidOperationException怎么问题怎么解决啊
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,