> 文章列表 > 记录贴:EasyPoi word导出问题一览

记录贴:EasyPoi word导出问题一览

记录贴:EasyPoi word导出问题一览

项目场景:

EasyPoi word导出


问题描述1

easypoi 模板导出 我直接在map的value输入空格或"",出来的是{{,两个左花括号,咋解决


解决方案:

exportMap.put("key", "\\u00A0"); //空格

前端效果:记录贴:EasyPoi word导出问题一览


其他无效解决方案:

  1. 无效解决方案1
    网上看到这种方案,也是我初次尝试方案,无效。
    记录贴:EasyPoi word导出问题一览
exportMap.put("key", " "); //空格exportMap.put("key", "            "); //空格
  1. 无效解决方案2
    记录贴:EasyPoi word导出问题一览
exportMap.put("key", "&NULL&"); //空格
  1. 无效解决方案3
    本来想着通过前端处理,比如后端值为空返回前端值为-,然后用三元运算符处理,把-转为空或者空格。后面发现尝试失败。
    记录贴:EasyPoi word导出问题一览
    记录贴:EasyPoi word导出问题一览

记录贴:EasyPoi word导出问题一览


问题描述2

easypoi 模板导出 map的value有值但是永远只输出{{key}},不输出具体的值,咋解决

前端效果如下:(导出时具体值不填充word文档)
记录贴:EasyPoi word导出问题一览


解决方案:

1-注意{}是英文符号,不是中文符号。
2-不要有空格
记录贴:EasyPoi word导出问题一览


上述方案无效怎么办:

我在导出word文档时候碰到了这个问题,{}是英文但是还是无效,百思不得其解。{{key}}是我赋值粘贴到文档中的,后面我尝试删除手写发现就生效了,对比如下:

导出模板:
记录贴:EasyPoi word导出问题一览
导出效果:
记录贴:EasyPoi word导出问题一览
上面可以看出{{key}}都是英文符号,但是有的能填充值,有的不能。
这是因为格式的问题,只需要把能填充值的{{key}}复制覆盖掉无效的{{key}}即可,至于为什么会产生这个问题,可能是你复制粘贴时候产生的,但是肉眼是看不出来的。


补充:

有一个很有意思的现象,在word中英文输入法状态下输入单引号时候再
【ctrl+z】会让单引号变化格式,这个在用三元运算符的时候需要注意:
记录贴:EasyPoi word导出问题一览

这个现象如下
记录贴:EasyPoi word导出问题一览

先在’a’后输入单引号
记录贴:EasyPoi word导出问题一览

然后【ctrl+z】
记录贴:EasyPoi word导出问题一览
可以看出两者不同,然后再一次【ctrl+z】,才会恢复原样。

记录贴:EasyPoi word导出问题一览

这个现象还可以这么尝试,英文状态下输入单引号和中文状态下的单引号很像,感觉是同样格式。(先在’a’后输入英文单引号,然后输入中文单引号,看下对比)
记录贴:EasyPoi word导出问题一览
把中文输入的左单引号去掉,更容易对比
记录贴:EasyPoi word导出问题一览
不知道为什么,大家word文档也是这样吗?
我在使用英文单引号时候只能打出单引号然后【ctrl+z】,感觉很麻烦。