| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | 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) { |
| | |
| | | if (runValue.indexOf("<BoldText>") != -1) { |
| | | return setOtherStyle(runValue, paragraph, runPosition, run); |
| | | } |
| | | break; |
| | | //有些表格可能存在多个字典 需替换多次不能轻易break |
| | | //没有可替换内容直接break |
| | | if(getTextSize(runValue) == 0){ |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | 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(); |
| | | } |
| | | } |