From fba68d129dd022883186d6182811a6ef92568505 Mon Sep 17 00:00:00 2001
From: zhijie <1003392067@qq.com>
Date: 星期六, 10 七月 2021 16:16:39 +0800
Subject: [PATCH] 支持多角色,支持单列表格多个变量替换
---
src/main/java/com/ots/common/utils/poi/WordUtil.java | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ots/common/utils/poi/WordUtil.java b/src/main/java/com/ots/common/utils/poi/WordUtil.java
index 2e97d4a..dcd4fac 100644
--- a/src/main/java/com/ots/common/utils/poi/WordUtil.java
+++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -41,6 +41,8 @@
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class WordUtil {
private static final Logger log = LoggerFactory.getLogger(WordUtil.class);
@@ -395,7 +397,7 @@
}
}
private static void setTextValue(Map<String, Object> textMap, XWPFDocument document, XWPFParagraph paragraph, int runPosition, XWPFRun run) {
- System.out.println("琛ㄦ牸鐨勶細" + run.toString());
+ log.info("琛ㄦ牸鐨勶細{}", run.toString());
try {
run.setText(changeValue(run.toString(), textMap, run, paragraph, document, runPosition), 0);
} catch (Exception e) {
@@ -452,7 +454,11 @@
if (runValue.indexOf("<BoldText>") != -1) {
return setOtherStyle(runValue, paragraph, runPosition, run);
}
- break;
+ //鏈変簺琛ㄦ牸鍙兘瀛樺湪澶氫釜瀛楀吀 闇�鏇挎崲澶氭涓嶈兘杞绘槗break
+ //娌℃湁鍙浛鎹㈠唴瀹圭洿鎺reak
+ if(getTextSize(runValue) == 0){
+ break;
+ }
}
}
@@ -1281,4 +1287,14 @@
textMap.put("JAQTableStyle", jaqTableStyleList);
}
}
+
+ public static int getTextSize(String runValue){
+ Pattern pattern = Pattern.compile("%\\w+%");
+ Matcher matcher = pattern.matcher(runValue);
+ List<String> result = new ArrayList<>();
+ while(matcher.find()){
+ result.add(matcher.group());
+ }
+ return result.size();
+ }
}
--
Gitblit v1.9.1