我的word文档里面有多个表格,表格里的书签跨多行多列,我试图获取该书签中的内容,并进行替换,具体代码如下,但是无法成功,不知道该如何修改代码?
- Code: Select all
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;
public class Main {
public static void main(String[] args) {
//加载word文档
Document doc = new Document("XXXXX.dot");
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(doc);
//获取书签内容
bookmarkNavigator.moveToBookmark("tblA3QJ00_F");
TextBodyPart textBodyPart = bookmarkNavigator.getBookmarkContent();
String text = "";
for(Object item: textBodyPart.getBodyItems()){
if(item instanceof Paragraph){
Paragraph paragraph = (Paragraph) item;
for (Object childObj: paragraph.getChildObjects()){
if (childObj instanceof TextRange){
TextRange textRange = (TextRange) childObj;
text = text + textRange.getText();
}
}
}
}
System.out.println(text);
}
}
报错:
itemStart and itemEnd must be contained in one text body at com.spire.doc.documents.TextBodySelection.<init>(Unknown Source)...