Search in sources :

Example 11 with Tr

use of org.docx4j.wml.Tr in project docx4j-template by vindell.

the class Docx4j_替换模板 method replaceTrData.

/**
 * 替换tr数据,其他插入
 */
private void replaceTrData(Tbl tbl, Tr tr, List<String[]> dataList, int trIndex) throws Exception {
    TrPr trPr = XmlUtils.deepCopy(tr.getTrPr());
    String tcContent = null;
    String[] tcMarshaArr = getTcMarshalStr(tr);
    String[] dataArr = null;
    for (int i = 0, iLen = dataList.size(); i < iLen; i++) {
        dataArr = dataList.get(i);
        Tr newTr = null;
        Tc newTc = null;
        if (i == 0) {
            newTr = tr;
        } else {
            newTr = factory.createTr();
            if (trPr != null) {
                newTr.setTrPr(trPr);
            }
            newTc = factory.createTc();
            newTr.getContent().add(newTc);
        }
        for (int j = 0, jLen = dataArr.length; j < jLen; j++) {
            tcContent = tcMarshaArr[j];
            if (tcContent != null) {
                tcContent = tcContent.replaceAll("(<w:t>)(.*?)(</w:t>)", "<w:t>" + dataArr[j] + "</w:t>");
                newTc = (Tc) XmlUtils.unmarshalString(tcContent);
            } else {
                newTc = factory.createTc();
                setNewTcContent(newTc, dataArr[j]);
            }
            // 新增tr
            if (i != 0) {
                newTr.getContent().add(newTc);
            } else {
                // 替换
                newTr.getContent().set(j + 1, newTc);
            }
        }
        if (i != 0) {
            tbl.getContent().add(trIndex + i, newTr);
        }
    }
}
Also used : TrPr(org.docx4j.wml.TrPr) Tr(org.docx4j.wml.Tr) Tc(org.docx4j.wml.Tc)

Example 12 with Tr

use of org.docx4j.wml.Tr in project docx4j-template by vindell.

the class TableWithBorders method createTableWithContent.

private static Tbl createTableWithContent() {
    Tbl table = factory.createTbl();
    Tr tableRow = factory.createTr();
    addTableCell(tableRow, "Field 1");
    addTableCell(tableRow, "Field 2");
    table.getContent().add(tableRow);
    return table;
}
Also used : Tr(org.docx4j.wml.Tr) Tbl(org.docx4j.wml.Tbl)

Example 13 with Tr

use of org.docx4j.wml.Tr in project docx4j-template by vindell.

the class TableWithMergedCells method addTableRowWithMergedCells.

/**
 *  本方法创建一行, 并向其中添加合并列, 然后添加再两个普通的单元格. 随后将该行添加到表格
 */
private static void addTableRowWithMergedCells(String mergedContent, String field1Content, String field2Content, Tbl table) {
    Tr tableRow1 = factory.createTr();
    addMergedColumn(tableRow1, mergedContent);
    addTableCell(tableRow1, field1Content);
    addTableCell(tableRow1, field2Content);
    table.getContent().add(tableRow1);
}
Also used : Tr(org.docx4j.wml.Tr)

Example 14 with Tr

use of org.docx4j.wml.Tr in project docx4j-template by vindell.

the class TableWithStyledContent method main.

/**
 *  跟前面的做的一样, 我们再一次创建了一个表格, 并添加了三个单元格, 其中有两个
 *  单元带有样式. 在新方法中我们传进表格行, 单元格内容, 是否为粗体及字体大小作
 *  为参数. 你需要注意, 因为the Office Open specification规范定义这个属性是半个
 *  点(half-point)大小, 因此字体大小需要是你想在Word中显示大小的两倍,
 */
public static void main(String[] args) throws Docx4JException {
    wordMLPackage = WordprocessingMLPackage.createPackage();
    factory = Context.getWmlObjectFactory();
    Tbl table = factory.createTbl();
    Tr tableRow = factory.createTr();
    addRegularTableCell(tableRow, "Normal text");
    addStyledTableCell(tableRow, "Bold text", true, null);
    addStyledTableCell(tableRow, "Bold large text", true, "40");
    table.getContent().add(tableRow);
    addBorders(table);
    wordMLPackage.getMainDocumentPart().addObject(table);
    wordMLPackage.save(new java.io.File("src/main/files/HelloWord6.docx"));
}
Also used : Tr(org.docx4j.wml.Tr) Tbl(org.docx4j.wml.Tbl)

Example 15 with Tr

use of org.docx4j.wml.Tr in project docx4j-template by vindell.

the class WordprocessingMLPackageRender method addTableRowWithMergedCells.

/**
 *  本方法创建一行, 并向其中添加合并列, 然后添加再两个普通的单元格. 随后将该行添加到表格
 */
public void addTableRowWithMergedCells(String mergedContent, String field1Content, String field2Content, Tbl table) {
    Tr tableRow1 = factory.createTr();
    addMergedColumn(tableRow1, mergedContent);
    addTableCell(tableRow1, field1Content);
    addTableCell(tableRow1, field2Content);
    table.getContent().add(tableRow1);
}
Also used : Tr(org.docx4j.wml.Tr)

Aggregations

Tr (org.docx4j.wml.Tr)39 Tbl (org.docx4j.wml.Tbl)23 Tc (org.docx4j.wml.Tc)17 P (org.docx4j.wml.P)10 TblPr (org.docx4j.wml.TblPr)7 TcPr (org.docx4j.wml.TcPr)7 File (java.io.File)6 R (org.docx4j.wml.R)6 RPr (org.docx4j.wml.RPr)6 ArrayList (java.util.ArrayList)5 STHint (org.docx4j.wml.STHint)5 BigInteger (java.math.BigInteger)4 WordprocessingMLPackage (org.docx4j.openpackaging.packages.WordprocessingMLPackage)4 MainDocumentPart (org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart)4 TblStyle (org.docx4j.wml.CTTblPrBase.TblStyle)4 TblWidth (org.docx4j.wml.TblWidth)4 Text (org.docx4j.wml.Text)4 ObjectFactory (org.docx4j.wml.ObjectFactory)3 TblGrid (org.docx4j.wml.TblGrid)3 TblGridCol (org.docx4j.wml.TblGridCol)3