利用书签插入表格和图片
插入table
@Test
public void testCreatTable() throws Exception {
//加载文档
Document doc = new Document("D:\\test.doc");
DocumentBuilder builder = new DocumentBuilder(doc);
//获取所有书签
BookmarkCollection bookmarks = doc.getRange().getBookmarks();
//循环判断书签的名称
for (Bookmark bookmark : bookmarks) {
switch (bookmark.getName()) {
case "table1":
createTable(builder, bookmarks, bookmark);
}
}
//另存为
doc.save("D:\\test1.doc");
}
void createTable(DocumentBuilder builder, BookmarkCollection bookmarks, Bookmark bookmark) throws Exception {
//移动到该书签位置
builder.moveToBookmark(bookmark.getName());
//创建table
builder.startTable();
//创建单元格
builder.insertCell();
//创建单元格,\n换行
builder.write("日期");
//创建单元格
builder.insertCell();
//创建单元格,\n换行
builder.write("数量");
//结束当前行
builder.endRow();
//创建单元格
builder.insertCell();
//创建单元格,\n换行
builder.write("2022-10-1");
//创建单元格
builder.insertCell();
//创建单元格,\n换行
builder.write("100");
//结束当前行
builder.endRow();
//结束当前表格
builder.endTable();
//移除该书签
bookmarks.remove(bookmark);
}