Search in sources :

Example 6 with CTTbl

use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl in project poi by apache.

the class XWPFHeaderFooter method insertTable.

/**
     * inserts an existing XWPFTable to the arrays bodyElements and tables
     *
     * @param pos
     * @param table
     */
public void insertTable(int pos, XWPFTable table) {
    bodyElements.add(pos, table);
    int i = 0;
    for (CTTbl tbl : headerFooter.getTblArray()) {
        if (tbl == table.getCTTbl()) {
            break;
        }
        i++;
    }
    tables.add(i, table);
}
Also used : CTTbl(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl)

Example 7 with CTTbl

use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl in project poi by apache.

the class XWPFHeaderFooter method removeTable.

/**
     * Removes a specific table from this header / footer
     * 
     * @param table - {@link XWPFTable} object to remove 
     */
public void removeTable(XWPFTable table) {
    if (tables.contains(table)) {
        CTTbl ctTbl = table.getCTTbl();
        XmlCursor c = ctTbl.newCursor();
        c.removeXml();
        c.dispose();
        tables.remove(table);
        bodyElements.remove(table);
    }
}
Also used : CTTbl(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl) XmlCursor(org.apache.xmlbeans.XmlCursor)

Example 8 with CTTbl

use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl in project poi by apache.

the class XWPFTable method createEmptyTable.

private void createEmptyTable(CTTbl table) {
    // MINIMUM ELEMENTS FOR A TABLE
    table.addNewTr().addNewTc().addNewP();
    CTTblPr tblpro = table.addNewTblPr();
    tblpro.addNewTblW().setW(new BigInteger("0"));
    tblpro.getTblW().setType(STTblWidth.AUTO);
    // layout
    // tblpro.addNewTblLayout().setType(STTblLayoutType.AUTOFIT);
    // borders
    CTTblBorders borders = tblpro.addNewTblBorders();
    borders.addNewBottom().setVal(STBorder.SINGLE);
    borders.addNewInsideH().setVal(STBorder.SINGLE);
    borders.addNewInsideV().setVal(STBorder.SINGLE);
    borders.addNewLeft().setVal(STBorder.SINGLE);
    borders.addNewRight().setVal(STBorder.SINGLE);
    borders.addNewTop().setVal(STBorder.SINGLE);
    /*
         * CTTblGrid tblgrid=table.addNewTblGrid();
         * tblgrid.addNewGridCol().setW(new BigInteger("2000"));
         */
    getRows();
}
Also used : CTTblBorders(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblBorders) CTTblPr(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPr) BigInteger(java.math.BigInteger)

Example 9 with CTTbl

use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl in project poi by apache.

the class XWPFTableCell method insertNewParagraph.

/**
     * add a new paragraph at position of the cursor
     *
     * @param cursor The XmlCursor structure created with XmlBeans
     * @return the inserted paragraph
     */
public XWPFParagraph insertNewParagraph(final XmlCursor cursor) {
    if (!isCursorInTableCell(cursor)) {
        return null;
    }
    String uri = CTP.type.getName().getNamespaceURI();
    String localPart = "p";
    cursor.beginElement(localPart, uri);
    cursor.toParent();
    CTP p = (CTP) cursor.getObject();
    XWPFParagraph newP = new XWPFParagraph(p, this);
    XmlObject o = null;
    while (!(o instanceof CTP) && (cursor.toPrevSibling())) {
        o = cursor.getObject();
    }
    if ((!(o instanceof CTP)) || (CTP) o == p) {
        paragraphs.add(0, newP);
    } else {
        int pos = paragraphs.indexOf(getParagraph((CTP) o)) + 1;
        paragraphs.add(pos, newP);
    }
    int i = 0;
    XmlCursor p2 = p.newCursor();
    cursor.toCursor(p2);
    p2.dispose();
    while (cursor.toPrevSibling()) {
        o = cursor.getObject();
        if (o instanceof CTP || o instanceof CTTbl)
            i++;
    }
    bodyElements.add(i, newP);
    p2 = p.newCursor();
    cursor.toCursor(p2);
    p2.dispose();
    cursor.toEndToken();
    return newP;
}
Also used : XmlObject(org.apache.xmlbeans.XmlObject) CTTbl(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl) CTP(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP) XmlCursor(org.apache.xmlbeans.XmlCursor)

Example 10 with CTTbl

use of org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl in project poi by apache.

the class XWPFTableCell method getTableCell.

/**
     * get the TableCell which belongs to the TableCell
     */
public XWPFTableCell getTableCell(CTTc cell) {
    XmlCursor cursor = cell.newCursor();
    cursor.toParent();
    XmlObject o = cursor.getObject();
    if (!(o instanceof CTRow)) {
        return null;
    }
    CTRow row = (CTRow) o;
    cursor.toParent();
    o = cursor.getObject();
    cursor.dispose();
    if (!(o instanceof CTTbl)) {
        return null;
    }
    CTTbl tbl = (CTTbl) o;
    XWPFTable table = getTable(tbl);
    if (table == null) {
        return null;
    }
    XWPFTableRow tr = table.getRow(row);
    if (tr == null) {
        return null;
    }
    return tr.getTableCell(cell);
}
Also used : XmlObject(org.apache.xmlbeans.XmlObject) CTTbl(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl) CTRow(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRow) XmlCursor(org.apache.xmlbeans.XmlCursor)

Aggregations

CTTbl (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl)31 XmlCursor (org.apache.xmlbeans.XmlCursor)14 XmlObject (org.apache.xmlbeans.XmlObject)13 CTP (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP)11 CTRow (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRow)5 BigInteger (java.math.BigInteger)4 CTSdtBlock (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSdtBlock)3 CTTblPr (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPr)3 InputStream (java.io.InputStream)2 POIXMLException (org.apache.poi.POIXMLException)2 XWPFParagraph (org.apache.poi.xwpf.usermodel.XWPFParagraph)2 XWPFTable (org.apache.poi.xwpf.usermodel.XWPFTable)2 XWPFBorderType (org.apache.poi.xwpf.usermodel.XWPFTable.XWPFBorderType)2 XWPFTableCell (org.apache.poi.xwpf.usermodel.XWPFTableCell)2 XWPFTableRow (org.apache.poi.xwpf.usermodel.XWPFTableRow)2 CTTblBorders (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblBorders)2 CTTblGrid (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblGrid)2 File (java.io.File)1 FileOutputStream (java.io.FileOutputStream)1 IOException (java.io.IOException)1