最近接到导出excel报表的需求,本来想用poi的,听说jxls更简单快捷,便想试试。一开始demo写的都挺顺利的,把excel模板放到项目的resources下面后,出事了,一直报错:
java.lang.IllegalArgumentException: Your InputStream was neither an OLE2 stream, nor an OOXML stream
在网上找了好久,终于解决。
原因: maven打包插件打包时,修改了excel模板文件,导致excel模板文件损坏,无法打开。
解决方法:maven打包时不修改excel文件,pom.xml中打包插件配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
本文解决了一个在使用maven打包过程中遇到的问题,即Excel模板文件被损坏,导致无法使用jxls进行报表导出。通过调整maven-resources-plugin插件配置,避免了对特定类型文件(如xlsx和xls)的过滤,从而保护了模板文件的完整性。
1365





