在使用freemarker的过程中遇到的问题:
1.报错:

Caused by: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> tableTemplate.secTitle  [in template "excel转word.xml"

解释:freemarker.core.InvalidReferenceException无效的引用异常tableTemplate.secTitle存在空或者丢失

解决办法:

a.先查看map中是否有添加secTitle

b.如果有添加查看是否有可能存在值为null的,需要判断null,可以在存入map时判断给予""空字符串也可以在xml中判断${(tableTemplate.secTitle)!""}

2.word另存为xml时,模板的空格会被去掉

<w:t xml:space="preserve"></w:t>这个空格被去掉了,但xml:space="preserve"又是保证空格不会被去除,所以只需要在xml中重新加上空格就行了。

3.若替换符的内容包含<,>,& 这三种符号,则会出现Word打不开

str=str.replaceAll("&", "&amp;");

str=str.replaceAll("<", "&lt;");

str=str.replaceAll(">", "&gt;");

4.有时候表格会超出word文本,只需要在表头添加<w:tblLayout w:type="fixed"/>,就不会自动扩充了,固定每列的宽度

freemarker模板生成word文档踩坑记录相关推荐

  1. 使用freemarker模板生成word文档

    项目中最近用到这个东西,做下记录. 如下图,先准备好一个(office2003)word文档当做模板.文档中图片.姓名.性别和生日已经使用占位符代替,生成过程中将会根据实际情况进行替换. 然后将wor ...

  2. Java使用FreeMarker自动生成Word文档(带图片和表单)

    Java使用FreeMarker自动生成Word文档(带图片和表单) 1 背景 2 目标效果 3 创建Word模板 3.1 创建模板文档 3.2 转换模板文档 3.3 处理模板文档中的占位符 3.4 ...

  3. freemarker根据模板生成word文档,换行

    freemarker根据模板生成word文档,其它地方已经说的非常清除了,在此简单再说以下. 1.制作word模板,另存为xml文件.在此我另存为的时windows xml,它和windows 200 ...

  4. 使用FreeMarker自动生成Word文档

    使用FreeMarker自动生成Word文档 获取文件路径 创建一个word文档,然后再文档中在文档中写标识,对应代码中的map数据 2.将word转为xml后缀文件,再转为.ftl文件 3.保存路径 ...

  5. 使用word模板生成word文档的各类方案

    使用word模板生成word文档的各类方案 生成word的各种方案 word另存xml进行后续处理 2003版本word(.doc)的xml处理并生成word 2007版本word(.docx)的xm ...

  6. 根据标准word模板生成word文档类库(开源)

    前言   最近因项目需要要自定义标准word模板,并以编码方式操作word模板.填充数据和生成word文档,于是自己写了条小"内裤"来实现这个功能.该"内裤"只 ...

  7. JAVA实现模板word文档导入,Java依据word模板生成word文档之后台解析和实现及部分代码(一)...

    Java根据word模板生成word文档之后台解析和实现及部分代码(一) 后台主要工作是解析XML定义的标签文件,并获取到数据集,放入到Map中,然后调用Jacob.jar中提供的相关方法来实现替换. ...

  8. Android 使用模板生成Word文档,支持手机直接查看word

    最近在项目工作中,碰到一个很棘手的需求,说是要在手机端根据模板生成word文档,而且不借助第三方的软件可以查看word文档,一开始听这个需求差不多蒙了,这要怎么做,为什么不把生成word文档这个工作放 ...

  9. PHP 使用word模板生成word文档示例

    <?php namespace Home\Controller; use PhpOffice\PhpWord\TemplateProcessor; use Think\Controller; c ...

最新文章

  1. JavaScript instanceof 运算符深入剖析
  2. redis从入门到实践
  3. c 语言 string类型转换,用标准c++实现string与各种类型之间的转换
  4. 三星gtn8010安卓7_三星Galaxy Note 10.1 N8010 最后的救赎 Andorid 5.0.2 ROM
  5. spring boot添加swagger步骤
  6. array 前端面试题_web前端开发面试题汇总
  7. ahci模式下无法启动Linux,电脑AHCI模式无法开启是怎么回事?
  8. python的浮点数_Python中整数和浮点数
  9. dns遭到劫持_关于网站pr劫持的问题,PR劫持是如何实现的呢?
  10. html,实现心动的表白代码
  11. qq第三方登录所需appid
  12. 根据点、旋转轴、旋转角度,计算点旋转之后的位置
  13. php使用Yar实现RPC调用
  14. css 单行space-between左右布局,左边元素文字过长显示省略号
  15. java哪几种运算符_java运算符有哪些
  16. 北漂程序员一天的生活
  17. FFmpeg 出现错误 Invalida data found when processing input
  18. 刘慈欣,王晋康,何夕著《星际远征》
  19. 通灵股份在深交所上市:总市值增至约74亿元,预计全年增收不增利
  20. JS加密解密对于asp.net解密加密

热门文章

  1. win10系统的计算机C盘在哪,win10系统电脑C盘programdata在哪的图文办法
  2. 如何提升APP日活(DAU)?
  3. Python matplotlib 饼图
  4. java实现lbs_Java总结篇系列:Java泛型
  5. 华华跟奕奕玩游戏(数学期望递推式)
  6. 聊聊关于使用逻辑斯蒂回归的使用方法
  7. 推荐了这些好书,你看过几本啦?
  8. 2018计算机考研各科试卷分值分布
  9. 穷人思维和富人思维的根本区别在于底层系统不一样
  10. 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数