java利用poi读取excel异常问题

   
近来三个web工程必要做到三个小功效,利用文件上传然后读取文件内容写入到数据库,这里是操作的excel文件,excel文件分二种后缀,03版本的xls和后来的xlsx,今后大家日常都拿那七个好用的插件间接回复用就能够了,小编这边用的是java
poi相关财富包。

   1,首先要力所能致读取带xlsx的excel文件,一定要导入如下的jar包

 图片 1

 
然后遭受的难点是在地头工程下创立的八个测量检验类测量试验未有特别,二种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,难题消除。

由此从遇到这么些难点上来看,首先要学会从这么些中找原因,其次知道原原本本的经过明白后什么去化解。卓殊往往能够暴流露能够缓慢解决难题的关键所在。希望能帮到遭逢此相同主题材料的相恋的人。