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