freemarker导出word勾选复选框兼容wps的解决办法

最近在做需求的时候,有一个需求是根据业务提供的word模板导出根据业务规则填充的数据生成的word,具体做法是:

1.先打开业务提供的word模板,然后点击另存为Word XML文档,再将后缀名修改为.ftl文件

2.然后将替换的字段调整为${},这种形式,里面是替换的字符

word文档中的所有内容和样式都可以在其.xml文件中可以看到.

可以先在一个word文档中写一个复选框,然后转成xml查看他的格式.如下

<w:sym w:font="Wingdings 2" w:char="00A3"/>  //不勾选的复选框
<w:sym w:font="Wingdings 2" w:char="F052"/>    //勾选的复选框


那在改造xml文件中就可以加入逻辑判断进行输出了. 另外,xml文件中嵌套很多层的, 要分析好以上两个标签应该放在哪里.我一开始要尝试了很多次才正常输出

</w:rPr>
    <#if stemQualityReview.reviewResult==4>
        <w:sym w:font="Wingdings 2" w:char="F052"/><w:t>高:</w:t>
    <#else>
       <w:sym w:font="Wingdings 2" w:char="00A3"/><w:t>高:</w:t>
        <w:t>□高:</w:t> //不勾选的复选框用这个符号也可
    </#if>
</w:r>


注意:

1.在做word模板的时候,wps或者word生成模板必须使用后缀为.doc文档,docx文档会存在word版本兼容性问题。

2.内容写入时,要想换行,使用<w:br/>进行换行,但是wps可以识别,word可能会出现兼容报错。

后期生成的word有复选框,有的wps会出现勾选的复选框为圆圈,为解决这个问题,提供一个插件给大家:

下载地址:

链接:https://pan.baidu.com/s/1Mit0-N_QWWDl_oMkKGQT2g?pwd=ayw9 
提取码:ayw9

解决办法:

下载Wingdings 2 字体 解压后拷贝在系统字体库里,重新打开就行了。 win10在C:\Windows\Fonts 然后重新打开文档即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值