本文主要记录使用poi时,需要通过word模板导出实际使用的word时遇到的问题。
这个问题最开始笔者也找了很多地方,看了很多解决方案,最开始普遍都是说word或者excel文件进行了加密,只需要对文件进行解密即可。这个方案并不是我这个bug的问题,
我的问题来源于实际打包过程中,word文档被压缩导致文件损坏,所以才会出现这个报错。
在解决前编译后的服务器word文档是这样子
可以看见,target里面的word文档打开是乱码,这个时候我百思不得其解,终于在百度了很久以后找到了一篇解决方案,方案说是打包时文件压缩导致的文件损坏。我抱着试一试的态度,在打包的配置中里面加了以下代码。
<configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>doc</nonFilteredFileExtension> <nonFilteredFileExtension>docx</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration>
以上代码以笔者的角度来理解就是告诉maven打包时,不需要压缩对应类型的文件。
再次运行代码
报错消失了,代码正常运行到了最后。 另外一个标志就是target目录下对应的文件也不乱码了。希望这个问题的解决能帮到您。