见代码:
//删除所有的书签 public void removeAllDocBookMark(XWPFDocument xdoc) { List<XWPFParagraph> paraList = xdoc.getParagraphs(); removeParaListBookMark(paraList); List<XWPFTable> tableList = xdoc.getTables(); if (tableList != null) { for (XWPFTable table : tableList) { List<XWPFTableRow> rowList = table.getRows(); if (rowList != null) { for (XWPFTableRow row : rowList) { List<XWPFTableCell> cellList = row.getTableCells(); if (cellList != null) { for (XWPFTableCell cell : cellList) { removeParaListBookMark(cell.getParagraphs()); } } } } } } } public void removeParaListBookMark(List<XWPFParagraph> paraList) { if (paraList != null) { for (XWPFParagraph para : paraList) { removeParagraphBookMark(para); } } } ////删除段落内所有的书签 去掉w:bookmarkStart/w:bookmarkEnd public void removeParagraphBookMark(XWPFParagraph para) { List<CTBookmark> bookmarkStartList = para.getCTP() .getBookmarkStartList(); if (bookmarkStartList == null) { return; } for (int i = bookmarkStartList.size() - 1; i >= 0; i--) { Node bookStartNode = bookmarkStartList.get(i).getDomNode(); printNodeAllAttributeValue(bookStartNode); bookStartNode.getParentNode().removeChild(bookStartNode); } List<CTMarkupRange> bookmarkEndList = para.getCTP() .getBookmarkEndList(); if (bookmarkEndList == null) { return; } for (int i = bookmarkEndList.size() - 1; i >= 0; i--) { Node bookEndNode = bookmarkEndList.get(i).getDomNode(); printNodeAllAttributeValue(bookEndNode); bookEndNode.getParentNode().removeChild(bookEndNode); } } public void printNodeAllAttributeValue(Node node) { NamedNodeMap nodeAttr = node.getAttributes(); if (nodeAttr != null) { int numAttrs = nodeAttr.getLength(); for (int i = 0; i < numAttrs; i++) { Attr attr = (Attr) nodeAttr.item(i); String attrName = attr.getNodeName(); String attrValue = attr.getNodeValue(); System.out.println(node.getNodeName() + " 属性=" + attrName + " 值= " + attrValue); } } }
全文完。
相关推荐
非常好的基于word模版,标签,导出word数据的例子
下载后,运行 可以 Test1中的main方法,注意里面的word模版地址要修改下。...test1.java主要是针对word的书签操作 MSWordTool.java主要是针对word的列表书签的操作,相对来说比较复杂,具体看个人需求。
POI 替换word2007文本框的值POI,包含word表中的文本框的值,定义好word模板即可替换word中的值。
POI解析word2007文本及图片(已测试).doc
这是一个POI读取word 2003 和 word 2007的例子 是一个Eclipse工程 下载后直接导入工程 运行 src 目录下的 Test java 类即可 这个 rar 包中包含着 POI 读取word 2003 和 word 2007 所需要的 jar 包 也有需要读取的 ...
apach poi 读取word 文档 jar 包。 博文链接:https://wxinpeng.iteye.com/blog/231881
使用poi替换word中的图片,无需加书签,doc/docx均可,亲测。
NULL 博文链接:https://53873039oycg.iteye.com/blog/2187388
poi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成wordpoi生成word
POI报表Word导出
poi解析word模板,在需要填写 空白地方建立书签;程序遍历书签,并根据书签名称进行赋值。 <groupId>org.apache.poi <artifactId>poi <version>3.8 <groupId>org.apache.poi <artifactId>poi-ooxml ...
POI对Word的操作,特别是针对生成报告模板时,向word中写入文本和图片。
使用poi将word读取后替换指定内容后再次生成新word,本人经过测试,拿来即用!
POI导出Word包含页眉 页脚的设置,标题的设置以及显示显示设置,包括POI操作Word完整的jar包
附件包含一个web项目,是一个简单的解析excel和word的例子,项目中包含jar poi解析excel、word2007,2010等版本
Java POI 生成Word文档,支持图片插入,关键是修改XML部分,本人已测试通过。
POI操作word只能获取word中的书签,并不能进行操作.java2word可以实现,但是除了java2word.jar包以外,还要一个dll文件放在system32文件夹下,环境部署在linux服务器上,谁允许你放这样的文件,结果死心了....
使用poi3.9操作docx中书签,实现书签的替换,书签实现word中表格的新增行功能。包括实例类,工具类,poi3.9 jar包
使用java Apache poi 根据word模板生成word报表 仅支持docx格式的word文件,大概是word2010及以后版本,doc格式不支持。 使用说明:https://blog.csdn.net/u012775558/article/details/79678701
使用poi替换word中的文字和图片实现打印,注意代码中的jar包、图片、word位置