天天看点

freemarker模板替换生成word

工具类

调用

freemarker模板替换生成word
freemarker模板替换生成word

一对一传值

 集合传值

freemarker模板替换生成word

 注:集合传值中也可以返回一个集合,在调用的时候放到map中去,获取值的方式是${别称dian集合的实体类中对于的属性},但有个前提 属性的类型都得是String类型的  不然就报错

 模板内增加占位符

注:占位符随意填写,自己能分清就行,没必要和后台的map保持绝对一致

一对一

freemarker模板替换生成word

 集合

注:感叹号的意思是其值为null 的话 不报错,

结果如下:

1.一对一的

 2.表格

freemarker模板替换生成word

 在写的时候遇到了两个问题:

问题1:

 本来以为这是两个表格,但其实是一个。要知道既然是一个表  那么他们的key值就不能一样

刚开始是这么写的  出现了上述问题 就是对于不上 因为第一年循环的时候 后面的值都是空的

其中的a是年份循环的下标

 解决问题:

在年份循环的外面

freemarker模板替换生成word

 具体代码如下:

具体效果如下:

freemarker模板替换生成word

至此,问题解决。

问题二:

freemarker模板替换生成word

 需求是这种表格

 刚开始看到很烦恼,因为后面是12个月 不知道该怎么写    有人可能会说直接按照表格那种方式写不行么?答案显然是不行的   因为我不可能去写12个属性,并获取每个属性对应的值。

后来发现我可以循环获取   简单点来说就是 你需要12个key和12个vaule     当然采用集合实体类那种方式显然是行不通的      于是我设置了12个key  循环设置的,vaule肯定也是循环获取的

具体代码如下:

freemarker模板替换生成word