• 大小: 9.72MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-06
  • 语言: Java
  • 标签: poi  word书签  兼容  

资源简介

下载后,运行 可以 Test1中的main方法,注意里面的word模版地址要修改下。 test1.java主要是针对word的书签操作 MSWordTool.java主要是针对word的列表书签的操作,相对来说比较复杂,具体看个人需求。

资源截图

代码片段和文件信息

package com.lys.test.bean;
import java.util.List;
import java.util.Stack;

import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.apache.xmlbeans.xmlException;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBookmark;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTText;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
 * 
 * Word 文件中标签的封装类,保存了其定义和内部的操作
 *
 * @author    
 * 
 * 

Modification History:


 * 

Date       Author      Description


 * 

------------------------------------------------------------------


 * 

 


 * 

  


 */
public class BookMark { 
    
//以下为定义的常量

/** 替换标签时,设于标签的后面   **/
    public static final int INSERT_AFTER = 0; 
    
    /** 替换标签时,设于标签的前面   **/
    public static final int INSERT_BEFORE = 1; 
    
    /** 替换标签时,将内容替换书签   **/
    public static final int REPLACE = 2; 
    
    /** docx中定义的部分常量引用  **/
    public static final String RUN_NODE_NAME = “w:r“; 
    public static final String TEXT_NODE_NAME = “w:t“; 
    public static final String BOOKMARK_START_TAG = “bookmarkStart“; 
    public static final String BOOKMARK_END_TAG = “bookmarkEnd“; 
    public static final String BOOKMARK_ID_ATTR_NAME = “w:id“; 
    public static final String style_NODE_NAME = “w:rPr“; 
    
    /** 内部的标签定义类  **/
    private CTBookmark _ctBookmark = null; 
    
    /** 标签所处的段落  **/
    private XWPFParagraph _para = null; 
    
    /** 标签所在的表cell对象  **/
    private XWPFTableCell _tableCell = null; 
    
    /** 标签名称 **/
    private String _bookmarkName = null; 
    
    /** 该标签是否处于表格内  **/
    private boolean _isCell = false; 

    /**
     * 构造函数
     * @param ctBookmark
     * @param para
     */
    public BookMark(CTBookmark ctBookmark XWPFParagraph para) { 
        this._ctBookmark = ctBookmark; 
        this._para = para; 
        this._bookmarkName = ctBookmark.getName(); 
        this._tableCell = null; 
        this._isCell = false; 
    } 
    
    /**
     * 构造函数,用于表格中的标签
     * @param ctBookmark
     * @param para
     * @param tableCell
     */
    public BookMark(CTBookmark ctBookmark XWPFParagraph para XWPFTableCell tableCell) { 
        this(ctBookmark para); 
        this._tableCell = tableCell; 
        this._isCell = true; 
    } 

    public boolean isInTable() {
     return this._isCell;
    }
    
    public XWPFTable getContainerTable() {
     return this._tableCell.getTableRow().getTable();
    }
    
    public XWPFTableRow getContainerTableRow() {
     return this._tableCell.getTableRow();
    }
    
    public String getBookmarkName() { 
        return  this._bookmarkName; 
    } 
    
    /** 
     * Insert text into the Word document in the

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      33138  2017-08-03 15:54  poi操作word书签,兼容2003和2007\java\BookMark.java

     文件       7561  2017-08-03 15:54  poi操作word书签,兼容2003和2007\java\BookMarks.java

     文件       9540  2013-02-25 16:43  poi操作word书签,兼容2003和2007\java\MSWordTool.java

     文件       3414  2017-08-03 15:58  poi操作word书签,兼容2003和2007\java\Test1.java

     文件     196768  2017-07-12 14:43  poi操作word书签,兼容2003和2007\lib\commons-digester-2.1.jar

     文件     267634  2017-07-12 14:45  poi操作word书签,兼容2003和2007\lib\commons-jexl-2.1.1.jar

     文件     154330  2017-07-12 14:48  poi操作word书签,兼容2003和2007\lib\jxls-core-1.0.jar

     文件    1869113  2017-07-12 14:37  poi操作word书签,兼容2003和2007\lib\poi-3.9-20121203.jar

     文件     936648  2017-07-12 14:55  poi操作word书签,兼容2003和2007\lib\poi-ooxml-3.9-20121203.jar

     文件    4802621  2017-08-02 11:04  poi操作word书签,兼容2003和2007\lib\poi-ooxml-schemas-3.9-20121203.jar

     文件    1226511  2017-07-12 14:55  poi操作word书签,兼容2003和2007\lib\poi-scratchpad-3.9-20121203.jar

     文件    2666695  2017-08-02 11:04  poi操作word书签,兼容2003和2007\lib\xmlbeans-2.3.0.jar

     文件      18432  2017-08-03 15:53  poi操作word书签,兼容2003和2007\temp\11.doc

     文件      18432  2017-08-03 15:13  poi操作word书签,兼容2003和2007\temp\12.docx

     文件      13824  2017-08-03 15:13  poi操作word书签,兼容2003和2007\temp\2003word.doc

     文件      15431  2017-08-03 11:36  poi操作word书签,兼容2003和2007\temp\2007word.docx

     文件      17382  2017-08-02 11:26  poi操作word书签,兼容2003和2007\temp\Word模版.docx

     文件      16741  2017-08-02 11:26  poi操作word书签,兼容2003和2007\temp\Word模版_REPLACE.docx

     目录          0  2017-08-03 15:58  poi操作word书签,兼容2003和2007\java

     目录          0  2017-08-03 15:57  poi操作word书签,兼容2003和2007\lib

     目录          0  2017-08-03 15:58  poi操作word书签,兼容2003和2007\temp

     目录          0  2017-08-03 15:58  poi操作word书签,兼容2003和2007

----------- ---------  ---------- -----  ----

             12274215                    22


评论

共有 条评论