本文整理汇总了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);
}
}
示例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;
}
示例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;
}
示例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;
}