问题帖子 地址 http://www.iteye.com/problems/55196
以前上传的excel文件是2003版的,现在上传的文件改2007版的excel文件了。
之前处理上传的文件,是通过HSSFWorkbook来处理的,但2007及以上版本的excel文件通过HSSFWorkbook处理不了,所以换成用XSSFWorkbook来处理了。我的部分代码片段如下:
try
{
inputStream = new FileInputStream(file); //file为struts2上传的文件
workbook = new XSSFWorkbook(inputStream);
sheet = workbook.getSheetAt(0);
。。。。。
}
catch (FileNotFoundException e)
{
flag=false;
e.printStackTrace();
}
catch (IOException e)
{
flag=false;
e.printStackTrace();
}catch(Exception e){
flag = false;
e.printStackTrace();
}
finally
{
if(inputStream !=null )
try {
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
经过无数次调试,发现每次当执行workbook = new XSSFWorkbook(inputStream);代码后,也没跳到catch里面去处理,而是直接到finally里面了。同时在页面主要提示的报错信息如下:
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException at com.cist.dcsys.service.io.CoursesSetIo.importexcel(CoursesSetIo.java:60) at
网上找了很久资料,末能解决。还请各位帮着赐教。因为项目马上验收,时间有限了。谢了各位兄弟姐妹。分数比较可怜了,不好意思
问题类似 我这边的问题是 直接异常
解决办法是
new XSSFWorkbook(getUploadFile().getAbsolutePath());
让上传的路径传进去 就没有异常了。 我都汗了
public File getUploadFile() {
return uploadFile;
}
jar 包如下:
poi-3.7-20101029.jar
poi-ooxml-3.7-20101029.jar
poi-ooxml-schemas-3.7-20101029.jar
geronimo-stax-api_1.0_spec-1.0.jar
xmlbeans-2.3.0.jar
dom4j-1.6.1.jar
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow