1.模板準(zhǔn)備
首先使用word文檔配置好,將word文檔另存為并以xml格式存儲(chǔ)
然后使用idea打開(kāi),ctrl+alt+L 格式化下代碼,
將帶有${}的代碼樣式去除
這樣模板制作成功

image.png
2.代碼實(shí)現(xiàn)
引入依賴
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.30</version>
</dependency>
public static void main(String[] args) {
Configuration configuration = new Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS);
configuration.setDefaultEncoding("UTF-8");
Map<String, Object> dataMap = getData();
configuration.setClassForTemplateLoading(WordTest.class, "/");
try {
//獲取模板文件
Template t = configuration.getTemplate("temp.xml");
//導(dǎo)出文件
File outFile = new File("D:/test/outFile" + Math.random() * 10000 + ".docx");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
//將填充數(shù)據(jù)填入模板文件并輸出到目標(biāo)文件
t.process(dataMap, out);
}
catch (Exception e) {
e.printStackTrace();
}
}
public static Map<String, Object> getData() {
Map<String, Object> dataMap = new HashMap<>(8);
dataMap.put("tradeConfirmId", "123456");
dataMap.put("counterPartyName", "今天是個(gè)好日子");
return dataMap;
}
打開(kāi)word,發(fā)現(xiàn)變量被替換,
ok!!