input文件:
input.docx (10.0 KB)
这是我的原代码:
public static void main(String[] args) throws Exception {
String filename1 = "D:\\input.docx";
String filename2 = "D:\\output.docx";
String bookmarkName = "bookmark";
Document document = new Document(filename1);
DocumentBuilder documentBuilder = new DocumentBuilder(document);
BookmarkCollection bookmarkList = document.getRange().getBookmarks();
List<Bookmark> bookmarks = new ArrayList<>();
for (Bookmark bookmark : bookmarkList) {
bookmarks.add(bookmark);
}
// 获取书签
Bookmark bookmark = bookmarks.stream()
.filter(item -> item.getName().equals(bookmarkName))
.findFirst().orElse(null);
if (bookmark == null) {
log.warn("未扫描到书签", bookmarkName);
return;
}
// 置为空值
bookmark.setText("");
// 文档指针移动到书签位置
documentBuilder.moveToBookmark("bookmark", true, true);
documentBuilder.write(" ");
// 新建表格
documentBuilder.startTable();
documentBuilder.insertCell();
documentBuilder.write("姓名1");
documentBuilder.insertCell();
documentBuilder.write("年龄1");
documentBuilder.endRow();
documentBuilder.insertCell();
documentBuilder.write("姓名2");
documentBuilder.insertCell();
documentBuilder.write("年龄2");
documentBuilder.endRow();
// 结束表格
documentBuilder.endTable();
document.save(filename2);
}
但是我希望插入每个单元格内容时插入内容控件,比如test文件:
test.docx (14.8 KB)
image.png (10.5 KB)
文档结构是这样:
image.png (46.3 KB)