java xml生成word文档_java生成word文档

本文介绍了如何利用Java和Freemarker模板引擎,根据用户提供的模板生成Word分析报告。文章首先揭示了Word文档的.zip本质,然后详细讲解了创建Freemarker模板、赋值生成新文件、构建Word文档的步骤,最后提到了如何插入图片,实现了动态生成包含统计分析图的Word文档。
摘要由CSDN通过智能技术生成

java生成word文档

最近得到一个需求:按用户提供的模板生成分析报告,并让用户可以在网页上导出。这个功能以前没做过,但是好像听说过freemarker。于是乎,开始了我的百度之旅。

一、word文档的本质

我也是最近才知道,word文档的本质原来是一个压缩文件。不信你看,将.docx文件修改文件后缀为.zip

dccc7e7e5cd7a7deadb841c75e9fd7ca.png

然后解压缩得到了这些文件,这些就是组成word文档的所有文件。其中word文件夹下是主要内容

a617a9a304910b8f39630e67a1c7f82e.png

7fd96705ea33a42bb9c0bd0068dbfeb2.png

​其中,document.xml中是关于文档内容的设置,相当于网页里面的html文件一样。_rels文件夹下的document.xml.rels文件是图片配置信息。media文件夹下是文档中所有图片的文件,其他的应该是类似于网页里面的CSS文件,设置样式的。所以document.xml就是我们要修改的了。这样的操作就相当于网页已经编写好了,只差从后台传送数据到前端展示了。

二、创建freemarker模板

freemarker是一个模板引擎,百度是这样介绍的:

FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

​说白了就是跟前端页面的变量绑定是一样的,用过vuejs的都知道,前端使用“{ {name}}”双括号括起来的变量可以通过传值改变页面上数据。freemarker也是这样,通过在document.xml中使用“${name}”dollar符大括号括起来的变量也可以通过传值改变模板文件内容。清楚了这点就好办了。

将document.xml文件放到IDEA项目中的templates文件夹下,然后按Ctrl+Alt+L键格式化xml内容&#x

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值