word模板动态替换占位符(eg:${placeholder})然后生成新的word

网上搜索的不管是docx4j还是poi都只是实现了占位符在同一个文本中(读取word行数据后,行数据会分为多个文本)的替换,针对占位符没有在同一个文本或者换行了都没有实现,总结docx4j和poi两种方式终极实现占位符替换生成新word,两种方式源码如下

1、Docx4J实现代码

import cn.hutool.core.util.ObjectUtil; import com.google.common.collect.Lists; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.wml.ContentAccessor; import org.docx4j.wml.Text; import org.junit.Test; import java x.xml.bind.JAXBElement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; * @author liuchao * @date 2020/6/8 public class Test01 { * 设置最大Text类型节点个数 如果超过此值,在删除占位符时可能会重复计算导致错误 private static int MAX_TEXT_SIZE = 1000000; @Test public void test() throws Exception { String docxFile = "/Users/liuchao/java/temp/1.docx"; Wordp 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/84207.html

(0)

导读:本篇文章讲解 ☕【Java深层系列】「并发编程系列」让我们一起探索一下CompletionService的技术原理和使用指南,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

2023年1月6日 0 0 0

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 详解Java线程池参数,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源: 原文

2023年4月19日 0 0 5

导读:本篇文章讲解 SpringBoot整合ActiveMq实现Queue和Topic两种模式(看不懂你来打我),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

2023年2月6日 0 0 4

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 【51单片机】使用STC烧录软件自动生成延时代码,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源: 原文

2023年4月9日 0 0 3