项目场景:
模板实例:
Java项目导出Excel模板:
网上说将pom文件中配置如下可解决:
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.xls</exclude>
<exclude>**/*.xlsx</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.xls</exclude>
<exclude>**/*.xlsx</exclude>
</excludes>
</resource>
实际上
项目配置如上后还是导出文件损坏:
原因分析
在获取模板文件时已经损坏(maven的打包压缩干的!)
所以去pom配置压缩忽略xls文件,同时resource配置文件过滤
注意:
filting :true ; include (非excludes)
解决方案:
①将resource标签配置如下
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>bootstrap.yml</include>
<include>**/*.xml</include>
<include>**/excelTemplate/*.xls</include>
<include>**/excelTemplate/*.xlsx</include>
</includes>
</resource>
②再设置忽略压缩xls的文件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<version>2.6</version>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>