freemarker生成word文档最简单的方式

一、引依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>freemarker</artifactId>
                    <groupId>org.freemarker</groupId>
                </exclusion>
            </exclusions>
        </dependency>

springboot自带的freemarker的依赖,这是我引入的。
····················································
可以看到有这个exclusions标签,将一个包给排除注释了,因为上边我还引入了其他依赖,其实不排除,问题也不大,不影响你使用,很多时候就算版本不一致,也是可以使用的。
····················································
但是有时候会碰到这样的问题,你明明引入了某个包,为什么没有相应的API让你用。
····················································
这个问题非常常见,因为依赖被覆盖掉了,版本不一致,比如你引入的明明是6.6版本,但你看一下项目External Libraries中实际引入的版本是多少,可能是6.7或者6.8,当然,如果你的项目非常小,只有个位数的依赖,那就忽略这段话吧。

二、思路

整体思路是,找到你的word模板,将模板另存为xml,然后将后缀名.xml更改为.ftl文件。这就OK了,超级简单,然后将.ftl文件拷贝到你得项目中,指定模板路径,填充数据,完成。

三、实现

首先你的文档中,有很多的字段,这些字段,对应着数据库中的字段。

在每一个字段后边,输入 n a m e , {name}, name{age},之类的标识符。
在这里插入图片描述
后边的感叹号是解决了一个报错,如果传参为空,后台会报错,所以后边加一个!。比如项目名称,客户可能没有填,不可以没填,就生成失败。

第一步
在这里插入图片描述

第二步
在这里插入图片描述
第三步

在这里插入图片描述

四、常见问题

${
    
    bbb!}  $与{
    
    }符号分离

在ftl文件中是分离的状态,不可以作为标识符,进行数据填充。
解决方法,在IDEA中,或者新建一个空白txt,写这两个文件,然后拷贝到word文档中。
正确的ftl文件为:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/numbbe/article/details/109098548