diff --git a/wmyun-framework/wmyun-spring-boot-starter-word/src/main/java/com/wmyun/farmwork/word/core/BookmarkExec.java b/wmyun-framework/wmyun-spring-boot-starter-word/src/main/java/com/wmyun/farmwork/word/core/BookmarkExec.java index 6926dc8..ef84df3 100644 --- a/wmyun-framework/wmyun-spring-boot-starter-word/src/main/java/com/wmyun/farmwork/word/core/BookmarkExec.java +++ b/wmyun-framework/wmyun-spring-boot-starter-word/src/main/java/com/wmyun/farmwork/word/core/BookmarkExec.java @@ -82,6 +82,7 @@ public class BookmarkExec { List runs = paragraph.getRuns(); XWPFRun run = null; int idx = 0; + boolean doR = false; for (int i = 0; i < runs.size(); i++) { Node previousSibling = runs.get(i).getCTR().getDomNode().getPreviousSibling(); if (previousSibling != null) { @@ -92,16 +93,17 @@ public class BookmarkExec { Node nameAttribute = bookmarkStartNode.getAttributes().getNamedItem("w:name"); if (nameAttribute != null && name.equals(nameAttribute.getNodeValue())) { idx = i - 1; + doR = true; break; } } } } } - if (idx >= 0 && idx < runs.size()) { + if (idx >= 0 && idx < runs.size() && doR) { run = runs.get(idx); } else { - run = paragraph.createRun(); + run = runs.get(runs.size() - 1); } BookmarkReplaceDataModel model = map.get(name); BookmarkType type = model.getType();