引入jar包
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.16</version>
</dependency>
代码
package com.jkhh.provider.study.test;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
/**
* @author fj
* @version 1.0
* @date 2020/10/12 16:48
*/
public class DocTest {
public static void CreatWordByModel(String tmpFile, Map<String, String> contentMap, String exportFile) throws Exception{
InputStream in = null;
in = new FileInputStream(new File(tmpFile));
HWPFDocument document = null;
document = new HWPFDocument(in);
// 读取文本内容
Range bodyRange = document.getRange();
System.out.println(bodyRange.toString());
System.out.println(bodyRange.text());
// 替换内容
for (Map.Entry<String, String> entry : contentMap.entrySet()) {
bodyRange.replaceText("${" + entry.getKey() + "}", entry.getValue());
}
//导出到文件
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
document.write((OutputStream)byteArrayOutputStream);
OutputStream outputStream = new FileOutputStream(exportFile);
outputStream.write(byteArrayOutputStream.toByteArray());
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
Map map=new HashMap();
map.put("com","xxx公司");
map.put("date","2020/10/12");
map.put("content","这是一个测试");
map.put("data4","CSDN");
map.put("data5","555");
CreatWordByModel("D://test/test.doc",map,"D://test/newfile.doc");
}
}