【笔记】Java实现Word文件文本内容替换

前言

Java实现Word文件文本内容替换

添加依赖

pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>5.2.3</version>
</dependency>

<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.12.2</version>
</dependency>

准备需要替换的Word文件

input.docx
1
姓名:{{name}}

源代码

Main.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com;

import com.deepoove.poi.XWPFTemplate;

import java.io.*;
import java.util.HashMap;

public class Main {

public static void main(String[] args) throws IOException {
XWPFTemplate template = XWPFTemplate.compile("./input.docx");
Map<String, String> map = new HashMap<String, String>();
map.put("name", "张三");
template.render(map);
template.writeAndClose(new FileOutputStream("./output.docx"));
}

}

完成

参考文献

哔哩哔哩——地中海小胖