这里是记录一下使用poi过程中出现的一个问题
文章目录
- 一、问题复现
- 二、解决思路
- 1.是否文件加密
- 2.编译后的模板文件内容是乱码
- 总结
一、问题复现
新建一个导出模板之后,放到项目,然后获取模板文件进行处理,结果一直获取不到模板文件。
二、解决思路
1.是否文件加密
因为公司电脑是有加密软件的,一些文档编辑之后会加密。在target目录下找到该模板文件,打开文件,提示文件已被损坏。然后申请解密,解密之后放到项目里,重新编译,这时在target目录下打开的模板文件可以打开,但是文件内容是乱码。
2.编译后的模板文件内容是乱码
重新编译项目,在target目录下找到该模板文件,文件内容是乱码。这个是maven编译项目时因为编码不同导致的,需要在里设置maven编译时使用的编码方式,以及不对特定文件进行编码。代码如下。
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
完整位置如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<!--过滤掉不需要编码的文件:过滤后缀为 .doc、.xlsx。。。 的所有文件,不对其进行统一编码-->
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
<nonFilteredFileExtension>txt</nonFilteredFileExtension>
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
总结
重新编辑项目,打开target目录下的模板文件,可以正常打开并显示文档内容。运行项目,报错解决。