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