记一个easy-poi的坑
坑所在的版本
- 4.1.0
- 其他[4.1.0——4.4.0)不确定
场景描述
使用word模板,在内部使用占位符,例如{{Temp}}这种占位符
Map<String,Object> fillInWordDataMap = new LinkedHashMap<>();
fillInWordDataMap.put("Temp","");
XWPFDocument word = WordExportUtil.exportWord07(path, fillInWordDataMap);
问题发现
此时会发现{{Temp}}并没有被替换,所以去深究easy-poi的源码,发现有如下的问题:
此处是替换文本的逻辑,但是只判断了是否为空,并没有对空逻辑做处理
问题解决
想到同事小伙伴在以前的项目中似乎并没有碰到这个坑
所以去查看了一下当时使用的版本
发现当时使用了<easy-poi.version>4.4.0</easy-poi.version>
替换后,重新查看源码,发现在4.4.0的时候,增加一块else