当前位置: 首页 > news >正文

如何制作Word模板并用Java导出自定义的内容

1前言

在做项目时会按照指定模板导出word文档,本文讲解分析需求后,制作word模板、修改模板内容,最终通过Java代码实现按照模板自定义内容的导出。

2制作word模板

2.1 新建word文档

新建word文档,根据需求进行编写模板内容,调整行间距和段落格式后将指定替换位置留空。

2.2 插入文档占位符

点击word需要插入占位符的位置,选择引用-插入引文-添加新占位符,编写占位符的内容(代码替换的字段)。
图 1 添加占位符

添加后的占位符是用左右括号包住的,如:(占位符字段)。
图 2 占位符

2.3 另存为xml文件

将所有的占位符插入完毕后,将word文档另存为xml文件。

图 3 另存为xml文件

2.4 编辑xml文件

通过idea或者文本编辑器打开xml文件,找到占位符1的位置,将其替换成${占位符1}的格式,中间「占位符1」为代码中需替换的字段内容,更改完成字段内容之后通过代码逻辑将其替换为有效的值。

最重要的一步,需要将xml的后缀名更改为ftl。

切记,不要直接从word保存为xml文档后直接修改后缀为ftl,步骤一定要和文档描述的顺序相同。
图 4 占位符代码图片

3模板修改详解

本章以列表、图形占位符为例来讲解修改步骤。

3.1 列表占位符的修改

第一步,模板里需要用变量填充表格,在模板中创建一个两行的表格,并给第一行的表格字段填充占位符。

图 5 列表模板

第二步,将文档另存为xml格式。

第三步,使用文本工具打开xml文件,根据第二节的内容修改占位符中的()为${},在模板中<w:tbl>表示一个表格、<w:tr>表示一行、<w:tc>表示一列。

因为FreeMarker是利用列表一行一行循环填充的,所以我们根据关键字找到<w:tbl>标签,因为第一个<w:tr>是表头注意不要改到了,找到第二个<w:tr>在前后分别加上如下语句即可,如果创建了三行的表格,则后面多余的表格的行<w:tr>需要删掉,添加完如下图所示,如果在文本中标签提示红色波浪线可以忽略。

<#list itemList as item>${item.index}
</#list>

图 6 列表增加list标签

第四步,由于程序中赋值的list为itemList,标签中作为item,所以第二步xml中的占位符${字符名
http://www.lryc.cn/news/329645.html

相关文章:

  • ubuntu 安装配置samba服务器完整教程
  • 【APP_TYC】数据采集案例天眼APP查_查壳脱壳反编译_③
  • 通过MobaXterm工具可视化服务器桌面
  • ctf题目
  • git 更改仓库地址
  • GLTFExporter是一个用于将3D场景导出为glTF格式的JavaScript库。
  • 消息队列经典应用场景
  • 阿里云Salesforce CRM功能差异列表 - Winter‘24
  • WIN10系统下误删除了用户重启无法登录
  • 国内ip怎么来回切换:操作指南与注意事项
  • day72Html
  • C语言内存函数(超详解)
  • 2024年天津体育学院退役大学生士兵专升本专业考试报名安排
  • linux bypy 定时备份到百度网盘
  • 星光/宝骏/缤果/长安 车机CarPlay手机操作破解教程V2.0版本(无需笔记本、无需笔记本、无需笔记本)
  • Spring Web MVC的入门学习(一)
  • 如何使用Java语言发票查验接口实现发票真伪查验、票据ocr
  • CAPL实现关闭TCP连接的几种方式以及它们的区别
  • Git--08--Git分支合并操作
  • 深度学习训练中的种子设置
  • LLM:函数调用(Function Calling)
  • ssm 房屋销售管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
  • MySQL使用ALTER命令创建与修改索引
  • 54 npm run serve 和 npm run build 输出的关联和差异
  • iOS —— 初识KVO
  • 什么是HTTP? HTTP 和 HTTPS 的区别?
  • 微信小程序如何进行npm导入组件
  • MySQL编程实战LeetCode经典考题
  • 发生播放错误,即将重试 jellyfin
  • BIONIOAIO