利用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文件啊 再上传读的。。 --------------------编程问答--------------------
内存溢出可以用eventmodel读取试试,不过能读不能写,适用只读的情况下;
至于楼主的问题,不晓得,也没碰到过。
你们导入的是标准的excel2007的文件?换poi最新版本试试。 --------------------编程问答--------------------
用的就是POI ,数据较大 ,刚开始读就内存溢出了 --------------------编程问答--------------------
POI版本是最新3.9的啊 --------------------编程问答-------------------- org.apache.poi.openxml4j.exceptions.InvalidOperationException怎么问题怎么解决啊
补充:Java , Java SE