码迷,mamicode.com
首页 > 编程语言 > 详细

java利用poi读取excel异常问题

时间:2016-09-06 23:09:19      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:

    最近一个web工程需要完成一个小功能,利用文件上传然后读取文件内容写入到数据库,这里是操作的excel文件,excel文件分两种后缀,03版本的xls和之后的xlsx,现在大家一般都拿非常好用的插件直接过来用就可以了,我这里用的是java poi相关资源包。

   1,首先要能够读取带xlsx的excel文件,必须要导入如下的jar包

 技术分享

  然后遇到的问题是在本地工程下建立的一个测试类测试没有异常,两种excel的文件都能读取,但是一旦发布到web工程下,我的工程是在tomcat下跑的。这里就出现了问题,总是报这个异常:

Exception in thread "main" org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)

  然后随着异常仔细的往上看,最后发现说有一个xbean.jar是否是正确的版本,这个时候我就知道可能是jar包冲突了,但是这时候对web工程的结构有点不是很明确了,为什么在测试类下没有问题,但为啥在web下跑的时候会产生这个异常呢,究其原因,这里要弄明白,在web下跑的时候,在webRoot下下面的WEB-INF下面的lib放的jar才是工程跑的时候用用到的jar,所以这时候我去找,果然发现有一个xbean.jar跟java poi的xmlbeans-2.3.0.jar冲突了,果断删掉低版本的xbean.jar,问题解决。

所以从遇到这个问题上来看,首先要学会从异常中找原因,其次知道原因了之后如何去解决。异常往往能够暴露出能够解决问题的关键所在。希望能帮到遇到此类似问题的朋友。

 

java利用poi读取excel异常问题

标签:

原文地址:http://www.cnblogs.com/simpleheart/p/5847355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!