feat: bookmark replace

This commit is contained in:
zzs 2025-03-07 16:01:41 +08:00
parent f07fdf7bb7
commit dfee41ef5a

View File

@ -5,7 +5,6 @@ import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.file.FileNameUtil; import cn.hutool.core.io.file.FileNameUtil;
import com.wmyun.farmwork.word.core.model.BookmarkInfo; import com.wmyun.farmwork.word.core.model.BookmarkInfo;
import com.wmyun.farmwork.word.core.model.BookmarkReplaceDataModel; import com.wmyun.farmwork.word.core.model.BookmarkReplaceDataModel;
import com.wmyun.farmwork.word.core.utils.StyleUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xwpf.usermodel.*; import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor;
@ -93,7 +92,7 @@ public class BookmarkExec {
// 处理列表 // 处理列表
for (String mk : listMark) { for (String mk : listMark) {
replaceListContent(doc, new String[]{"行1", "行2", "行3", "行4", "行5"}, mk); handleListContent(doc, new String[]{"行1", "行2", "行3", "行4", "行5"}, mk);
} }
@ -241,7 +240,10 @@ public class BookmarkExec {
} }
} }
public static void replaceListContent(XWPFDocument doc, String[] newListItems, String bookmarkName) { /**
* 处理行新增
*/
public static void handleListContent(XWPFDocument doc, String[] newListItems, String bookmarkName) {
// 查找书签所在的段落 // 查找书签所在的段落
XWPFParagraph bookmarkParagraph = findBookmarkParagraph(doc, bookmarkName); XWPFParagraph bookmarkParagraph = findBookmarkParagraph(doc, bookmarkName);
if (bookmarkParagraph == null) { if (bookmarkParagraph == null) {
@ -331,7 +333,7 @@ public class BookmarkExec {
XWPFRun run = newPara.createRun(); XWPFRun run = newPara.createRun();
run.setText(item); run.setText(item);
// 将游标移动到新段落之后关键步骤 // 将游标移动到新段落之后
cursor = newPara.getCTP().newCursor(); cursor = newPara.getCTP().newCursor();
cursor.toNextSibling(); cursor.toNextSibling();
} }