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

【技术】SpringBoot Word 模板替换

SpringBoot Word 模板替换

  • 什么是 Word 模板替换
  • 如何实现 Word 模板替换

什么是 Word 模板替换

模板一般是具有固定格式的内容,其中一部分需要替换。Word 模板通俗的讲是以 Word 的形式制作模板,固定格式和内容,然后将其中的一部分数据替换掉。例如:在颁发证书时,证书大体内容一致,只需要更换姓名以及奖项名称。

如何实现 Word 模板替换

Word 模板替换的方式有多种,对比之后最后选择 HuTool 的工具类。HuTool 还有很多其他的工具类,可以访问官网查看。

准备模板
需要注意:模板内容要求使用双花括号{{}}定义替换内容。双花括号中的标记内容可以随意,这里我使用了数字作为标记。
在这里插入图片描述

导入依赖

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version>
</dependency>

Java 核心代码

public static void main(String[] args) throws IOException {// 模板文件路径String registerTemplatePath = "C:\\Users\\Riu\\Desktop\\奖状.docx";// 输出结果文件路径String putFileName = "C:\\Users\\Riu\\Desktop\\Tom-奖状.docx";// 替换内容集合Map<String, String> textMap = new LinkedHashMap<>();textMap.put("0", "Tom");textMap.put("1", "《活动名称》");textMap.put("2", "特等奖");textMap.put("3", "2023");textMap.put("4", "08");textMap.put("5", "08");// 调用工具类,registerTemplatePath 模板路径,textMap 文字内容XWPFTemplate render = XWPFTemplate.compile(registerTemplatePath).render(textMap);// 输出文件到磁盘render.writeToFile(putFileName);
}

转换结果
在这里插入图片描述

在这里插入图片描述
根据个人测试,带表格和带图片的均可以正常转换,且格式正常。如有问题可以指正。

相关文章:

【技术】SpringBoot Word 模板替换

SpringBoot Word 模板替换 什么是 Word 模板替换如何实现 Word 模板替换 什么是 Word 模板替换 模板一般是具有固定格式的内容&#xff0c;其中一部分需要替换。Word 模板通俗的讲是以 Word 的形式制作模板&#xff0c;固定格式和内容&#xff0c;然后将其中的一部分数据替换掉…...

java jni nv21和nv12互转

目录 libyuv性能比较 NV12 NV21 YUV420格式介绍 jni YUV420toYUV420SemiPlanar java YUV420toYUV420SemiPlanar java NV12toYUV420SemiPlanar jni NV12toYUV420SemiPlanar...

后端面试话术集锦第二篇:spring boot面试话术

🚗后端面试集锦目录 💖后端面试话术集锦第一篇:spring面试话术💖 💖后端面试话术集锦第二篇:spring boot面试话术💖 💖后端面试话术集锦第三篇:spring cloud面试话术💖 💖后端面试话术集锦第四篇:ElasticSearch面试话术💖 💖后端面试话术集锦第五篇:r…...

Doris中分区和分桶使用教程

1 分区与分桶 Doris中有两层的数据划分&#xff0c;第一层是分区&#xff08;Partition&#xff09;&#xff0c;第二层是分桶&#xff08;Bucket&#xff09;&#xff0c; Partition又能分为Range分区和List分区。 Bucket仅支持Hash方式。 1.1 Partition 只能指定…...

电脑不安装软件,怎么将手机文件传输到电脑?

很多人都知道&#xff0c;AirDroid有网页版&#xff08;web.airdroid.com&#xff09;。 想要文件传输&#xff0c;却不想在电脑安装软件时&#xff0c;AirDroid的网页版其实也可以传输文件。 然而&#xff0c;要将文件从手机传输文件到网页端所在的电脑时&#xff0c;如果按…...

vue3 publish 出现的问题

vue3项目使用 yarn build 编译出dist文件&#xff0c; 发布后出现错误 #问题与解决 1)登录迭代错误(Maximum call stack size exceeded) >deepclone 的问题 在 GrandhallLayout 中判断菜单和权限中; const mainMenu cloneDeep(router.getRoutes()) lodash.clonedee…...

网络防御和入侵检测

网络防御和入侵检测是维护网络安全的关键任务&#xff0c;可以帮助识别和阻止未经授权的访问和恶意行为。以下是一些基本的步骤和方法&#xff0c;用于进行网络防御和入侵检测。 网络防御&#xff1a; 防火墙设置&#xff1a; 部署防火墙来监控和控制网络流量&#xff0c;阻止…...

【科研论文配图绘制】task5 SciencePlots绘图包入门

【科研论文配图绘制】task5 SciencePlots绘图包入门 task5主要学习了SciencePlots拓展包的出图样式&#xff0c;掌握SciencePlots的安装及具体使用。 SciencePlots作为一个专门用于科研论文绘图的第三方拓展工具包&#xff0c;提供了主流英文科技 期刊(如 Nature、Science 和 …...

R语言常用数学函数

目录 1. - * / ^ 2.%/%和%% 3.ceiling,floor,round 4.signif,trunc,zapsamll 5.max,min,mean,pmax,pmin 6.range和sum 7.prod 8.cumsum,cumprod,cummax,cummin 9.sort 10. approx 11.approx fun 12.diff 13.sign 14.var和sd 15.median 16.IQR 17.ave 18.five…...

公网远程访问局域网SQL Server数据库

文章目录 1.前言2.本地安装和设置SQL Server2.1 SQL Server下载2.2 SQL Server本地连接测试2.3 Cpolar内网穿透的下载和安装2.3 Cpolar内网穿透的注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 数据库的重要性相信大家都有所了解&…...

Apache Celeborn 让 Spark 和 Flink 更快更稳更弹性

摘要&#xff1a;本文整理自阿里云/数据湖 Spark 引擎负责人周克勇&#xff08;一锤&#xff09;在 Streaming Lakehouse Meetup 的分享。内容主要分为五个部分&#xff1a; Apache Celeborn 的背景Apache Celeborn——快Apache Celeborn——稳Apache Celeborn——弹Evaluation…...

华为数通方向HCIP-DataCom H12-821题库(单选题:141-160)

第141题 Router-LSA 能够描述不同的链路类型&#xff0c;不属于Router LSA 链路类型的是以下哪一项? A、Link Type 可以用来描述到末梢网络的连接&#xff0c;即 SubNet B、Link Type 可以用来描述到中转网络的连接&#xff0c;即 TranNet C、Link Type 可以用来描述到另一…...

Windows-docker集成SRS服务器的部署和使用

Windows-docker集成SRS服务器的部署和使用 一、Windows Docker安装 Docker Desktop 官方下载地址&#xff1a; https://docs.docker.com/desktop/install/windows-install/ 下载windows版本的就可以了。 注意&#xff1a;此方法仅适用于 Windows 10 操作系统专业版、企业版、…...

element-ui table表格滚动条拉到最右侧 表头与内容不能对齐

1.问题概述 当表格数据太多&#xff0c;会出现纵向滚动条和横向滚动条&#xff0c;把横向滚动条拉到最右侧时&#xff0c;会出现表头与内容不能对齐的现象。 2.解决方法 1.当页面数据加载完毕后&#xff0c;在后面加上 this.$nextTick(() > {this.$refs.table.doLayout()…...

React中的性能测试工具组件Profiler的基本使用

React中的性能测试工具组件Profiler是一个非常有用的工具&#xff0c;它可以帮助我们分析React应用程序的性能瓶颈。在本文中&#xff0c;我们将学习如何使用Profiler组件来测试React应用程序的性能。 首先&#xff0c;让我们来了解一下Profiler组件的基本用法。在React中&…...

提升生产效率,降低运维成本:纺织业物联网网关应用

在众多物联网技术应用中纺织业正逐渐崭露头角。物联网技术通过无线连接纺织设备、PLC、传感器&#xff0c;实现了纺织厂的生产数据信息的远程监控和数据采集、远程管理&#xff0c;为企业提供了更高效、智能的生产方式。智联物联小编在本文中将重点介绍纺织业物联网的应用与通讯…...

【学习笔记】求解线性方程组的G-S迭代法

求解线性方程组的G-S迭代法 // 运行不成功啊function [x,k,index] Gau_Seid(A,b,ep,it_max) % 求解线性方程组的G-S迭代法&#xff0c;其中 % A为方程组的系数矩阵 % b为方程组的右端项 % ep为精度要求&#xff0c;省缺为1e-5 % it_max为最大迭代次数&#xff0c;省缺为100 % …...

Kotlin协程flow缓冲buffer

Kotlin协程flow缓冲buffer 先看一个普通的flow&#xff1a; import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* import kotlinx.coroutines.runBlocking import kotlin.system.measureTimeMillisfun main(args: Array<String>) {val delayTime 100Lru…...

完全免费的GPT,最新整理,2023年8月24日,已人工验证,不用注册,不用登录,更不用魔法,点开就能用

完全免费的ChatGPT&#xff0c;最新整理&#xff0c;2023年8月24日&#xff0c;已人工验证&#xff0c; 不用注册&#xff0c;不用登录&#xff0c;更不用魔法&#xff0c;点开就能用&#xff01; 第一个&#xff1a;网址地址统一放在文末啦&#xff01;文末直达 看上图你就能…...

LeetCode538. 把二叉搜索树转换为累加树

538. 把二叉搜索树转换为累加树 文章目录 [538. 把二叉搜索树转换为累加树](https://leetcode.cn/problems/convert-bst-to-greater-tree/)一、题目二、题解方法一&#xff1a;递归&#xff08;中序遍历与节点更新&#xff09;方法二&#xff1a;反向中序遍历与累加更新&#x…...

Umi-OCR:完全免费开源的离线OCR神器,3分钟快速上手文字识别

Umi-OCR&#xff1a;完全免费开源的离线OCR神器&#xff0c;3分钟快速上手文字识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片&#xff0c;PDF文档识别&#xff0c;排除水印/页眉页脚&#xff0c;扫描/生成二维…...

LLM Notebooks:从零构建RAG问答系统的实践指南

1. 项目概述&#xff1a;一个面向大语言模型实践的“笔记本”仓库最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的仓库&#xff0c;叫qianniuspace/llm_notebooks。光看名字&#xff0c;llm_notebooks&#xff0c;大语言模型笔记本&#xff0c;这指向性就非常明确了。这大…...

Windows驱动清理终极指南:用DriverStore Explorer安全释放数十GB磁盘空间

Windows驱动清理终极指南&#xff1a;用DriverStore Explorer安全释放数十GB磁盘空间 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你的Windows电脑是否经常提示C盘空间不足&#xff…...

DLSS Swapper终极指南:免费开源的游戏DLSS智能管理工具

DLSS Swapper终极指南&#xff1a;免费开源的游戏DLSS智能管理工具 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款革命性的免费开源工具&#xff0c;专为PC游戏玩家设计&#xff0c;能够智能管理、…...

3D打印乐高手机支架:低成本打造高清视频会议摄像头方案

1. 项目概述与核心思路如果你和我一样&#xff0c;对视频会议、直播时笔记本自带摄像头那“感人”的画质感到无奈&#xff0c;同时又觉得单独购买一个高品质的网络摄像头是一笔不小的开销&#xff0c;那么这个项目绝对值得你花上一个周末的时间来折腾。它的核心思路非常巧妙&am…...

基于Rust与Candle的AI推理引擎cria:简化大模型本地部署与优化

1. 项目概述&#xff1a;从“左移”到“创造”的AI推理引擎 最近在折腾AI模型本地部署和推理优化的朋友&#xff0c;可能都绕不开一个名字&#xff1a; cria 。这个由 leftmove 开源的项目&#xff0c;全称是“Cria: The AI Inference Engine”&#xff0c;直译过来就是“创…...

Apache Burr框架:构建可观测有状态数据应用的核心原理与实践

1. 项目概述&#xff1a;一个用于构建和评估数据产品的Python框架如果你正在处理数据密集型应用&#xff0c;比如推荐系统、个性化广告或者任何需要根据用户行为实时调整策略的场景&#xff0c;你肯定遇到过这样的困境&#xff1a;模型训练和离线评估做得再好&#xff0c;一旦上…...

无代码物联网实战:基于ESP32与WipperSnapper的泳池水温监测方案

1. 项目概述&#xff1a;告别繁琐编程&#xff0c;用无代码方案守护泳池水温又到了打理泳池的季节&#xff0c;除了常规的清洁和化学平衡&#xff0c;水温其实是个挺关键的指标。水温不仅影响游泳的舒适度&#xff0c;也关系到泳池加热设备的能耗和泳池化学品的反应速率。以前想…...

ARM处理器仿真技术:Cortex-R52与Neoverse实战解析

1. ARM处理器仿真技术概述在现代芯片设计和软件开发流程中&#xff0c;处理器仿真模型已成为不可或缺的关键工具。作为Arm生态系统的重要组成部分&#xff0c;Iris仿真组件提供了对Cortex-R52和Neoverse系列处理器的精确模拟能力。这些模型不仅能够模拟指令执行流程&#xff0c…...

5分钟学会创建专业交通网络可视化地图

5分钟学会创建专业交通网络可视化地图 【免费下载链接】transit-map The server and client used in transit map simulations like swisstrains.ch 项目地址: https://gitcode.com/gh_mirrors/tr/transit-map 你想在网页上展示动态的公共交通网络吗&#xff1f;Transit…...