当前位置: 首页>>代码示例>>Java>>正文


Java CTTbl类代码示例

本文整理汇总了Java中org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl的典型用法代码示例。如果您正苦于以下问题:Java CTTbl类的具体用法?Java CTTbl怎么用?Java CTTbl使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


CTTbl类属于org.openxmlformats.schemas.wordprocessingml.x2006.main包,在下文中一共展示了CTTbl类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: render

import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl; //导入依赖的package包/类
@Override
public void render(ElementTemplate eleTemplate, Object data,
		XWPFTemplate template) {
	NiceXWPFDocument doc = template.getXWPFDocument();
	RunTemplate runTemplate = (RunTemplate) eleTemplate;
	XWPFRun run = runTemplate.getRun();
	try {
		XmlCursor newCursor = ((XWPFParagraph)run.getParent()).getCTP().newCursor();
		newCursor.toParent();
		//if (newCursor.getObject() instanceof CTTc) 
		newCursor.toParent();
		newCursor.toParent();
		XmlObject object = newCursor.getObject();
		XWPFTable table = doc.getTable((CTTbl) object);
		render(table, data);
	} catch (Exception e) {
		logger.error("dynamic table error:" + e.getMessage(), e);
	}
}
 
开发者ID:Sayi,项目名称:poi-tl,代码行数:20,代码来源:DynamicTableRenderPolicy.java

示例2: insertNewParagraph

import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl; //导入依赖的package包/类
/**
	 * 在某个段落起始处插入段落
	 * @param run
	 * @return
	 */
	public XWPFParagraph insertNewParagraph(XWPFRun run) {
//		XmlCursor cursor = run.getCTR().newCursor();
		XmlCursor cursor = ((XWPFParagraph)run.getParent()).getCTP().newCursor();
		if (isCursorInBody(cursor)) {
            String uri = CTP.type.getName().getNamespaceURI();
            /*
             * TODO DO not use a coded constant, find the constant in the OOXML
             * classes instead, as the child of type CT_Paragraph is defined in the 
             * OOXML schema as 'p'
             */
            String localPart = "p";
            // creates a new Paragraph, cursor is positioned inside the new
            // element
            cursor.beginElement(localPart, uri);
            // move the cursor to the START token to the paragraph just created
            cursor.toParent();
            CTP p = (CTP) cursor.getObject();
            XWPFParagraph newP = new XWPFParagraph(p, this);
            XmlObject o = null;
            /*
             * move the cursor to the previous element until a) the next
             * paragraph is found or b) all elements have been passed
             */
            while (!(o instanceof CTP) && (cursor.toPrevSibling())) {
                o = cursor.getObject();
            }
            /*
             * if the object that has been found is a) not a paragraph or b) is
             * the paragraph that has just been inserted, as the cursor in the
             * while loop above was not moved as there were no other siblings,
             * then the paragraph that was just inserted is the first paragraph
             * in the body. Otherwise, take the previous paragraph and calculate
             * the new index for the new paragraph.
             */
            if ((!(o instanceof CTP)) || (CTP) o == p) {
                paragraphs.add(0, newP);
            } else {
                int pos = paragraphs.indexOf(getParagraph((CTP) o)) + 1;
                paragraphs.add(pos, newP);
            }

            /*
             * create a new cursor, that points to the START token of the just
             * inserted paragraph
             */
            XmlCursor newParaPos = p.newCursor();
            try {
                /*
                 * Calculate the paragraphs index in the list of all body
                 * elements
                 */
                int i = 0;
                cursor.toCursor(newParaPos);
                while (cursor.toPrevSibling()) {
                    o = cursor.getObject();
                    if (o instanceof CTP || o instanceof CTTbl)
                        i++;
                }
                bodyElements.add(i, newP);
                cursor.toCursor(newParaPos);
                cursor.toEndToken();
                return newP;
            } finally {
                newParaPos.dispose();
            }
        }
        return null;
	}
 
开发者ID:Sayi,项目名称:poi-tl,代码行数:74,代码来源:NiceXWPFDocument.java

示例3: createNewTable

import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl; //导入依赖的package包/类
/**
 * Create new Table.
 * TODO OHA fix bug in nested table on usercontent (else case in code)
 * 
 * @param document
 *            document
 * @param inputTable
 *            input Table
 * @return get Table
 */
private XWPFTable createNewTable(IBody document, XWPFTable inputTable) {
    final XWPFTable generatedTable;
    final CTTbl copy = (CTTbl) inputTable.getCTTbl().copy();
    if (document instanceof XWPFDocument) {
        generatedTable = ((XWPFDocument) document).createTable();
    } else if (document instanceof XWPFHeaderFooter) {
        final XWPFHeaderFooter headerFooter = (XWPFHeaderFooter) document;
        final int index = headerFooter._getHdrFtr().getTblArray().length;
        final CTTbl cttbl = headerFooter._getHdrFtr().insertNewTbl(index);
        XWPFTable newTable = new XWPFTable(cttbl, headerFooter);
        if (newTable.getRows().size() > 0) {
            newTable.removeRow(0);
        }
        headerFooter.insertTable(index, newTable);
        generatedTable = headerFooter.getTables().get(index);
        generatedTable.getCTTbl().set(copy);
    } else if (document instanceof XWPFTableCell) {
        XWPFTableCell tCell = (XWPFTableCell) document;
        int tableRank = tCell.getTables().size();
        tCell.insertTable(tableRank, new XWPFTable(copy, tCell, 0, 0));
        generatedTable = tCell.getTables().get(tableRank);
    } else {
        throw new UnsupportedOperationException("unknown type of IBody : " + document.getClass());
    }
    return generatedTable;
}
 
开发者ID:ObeoNetwork,项目名称:M2Doc,代码行数:37,代码来源:UserContentRawCopy.java

示例4: insertNewTable

import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl; //导入依赖的package包/类
/**
	 * 在某个段落起始处插入表格
	 * 
	 * @param run
	 * @param row
	 * @param col
	 * @return
	 */
	public XWPFTable insertNewTable(XWPFRun run, int row, int col) {
		XmlCursor cursor = ((XWPFParagraph)run.getParent()).getCTP().newCursor();

		// XmlCursor cursor = run.getCTR().newCursor();
		if (isCursorInBody(cursor)) {
			String uri = CTTbl.type.getName().getNamespaceURI();
			String localPart = "tbl";
			cursor.beginElement(localPart, uri);
			cursor.toParent();

			CTTbl t = (CTTbl) cursor.getObject();
			XWPFTable newT = new XWPFTable(t, this, row, col);
			XmlObject o = null;
			while (!(o instanceof CTTbl) && (cursor.toPrevSibling())) {
				o = cursor.getObject();
			}
			if (!(o instanceof CTTbl)) {
				tables.add(0, newT);
			} else {
				int pos = tables.indexOf(getTable((CTTbl) o)) + 1;
				tables.add(pos, newT);
			}
			int i = 0;
			XmlCursor tableCursor = t.newCursor();
			try {
				cursor.toCursor(tableCursor);
				while (cursor.toPrevSibling()) {
					o = cursor.getObject();
					if (o instanceof CTP || o instanceof CTTbl){
						i++;
					}
				}
				bodyElements.add(i > bodyElements.size() ? bodyElements.size() : i, newT);
//				bodyElements.add(i, newT);
				cursor.toCursor(tableCursor);
				cursor.toEndToken();
				return newT;
			} finally {
				tableCursor.dispose();
			}
		}
		return null;
	}
 
开发者ID:Sayi,项目名称:poi-tl,代码行数:52,代码来源:NiceXWPFDocument.java


注:本文中的org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。