param的k为word模板中要替换的占位符,v为要替换成的文字
本文的占位符为${} 可自行修改替换
//替换word中的占位符
private void replaceWordText(List<XWPFParagraph> paragraphList, Map<String, Object> param) {
for (XWPFParagraph paragraph : paragraphList) {
// 遍历获取段落中所有的runs
List<XWPFRun> runs = paragraph.getRuns();
// 合并逻辑
for (int i = 0; i < runs.size(); i++) {
//获取字符
String text0 = runs.get(i).getText(runs.get(i).getTextPosition());
if (text0 != null && text0.contains("$")) {
//包含占位符的字符缓存
StringBuilder cache = new StringBuilder(text0);
//记录run结束的角标,开始的角标为i
int endIndex = 0;
boolean contains = text0.contains("}");
//同一个run中是否包含完成占位符
if (!contains) {