Docx4j在添加后缺少表格的边框

时间:2012-06-27 17:36:49

标签: border docx4j

我在创建表时遇到了问题。继承我的代码:

Tbl projectTable = TblFactory.createTable(rows, cols, cellWidthTwips);
Tr tr = (Tr) projectTable.getContent().get(0); 
Tc tc = (Tc) tr.getContent().get(0);
tc.getContent().add( this.mainDocument.createParagraphOfText("Cell 1"));

List<Object> lines = mainDocument.getContent();
lines.add(5, projectTable);

该表被添加到所需位置,但没有任何边框。

当我使用
时     wordMLPackage.getMainDocumentPart().addObject(projectTable); 方法,一切正常。带边框的通缉表。

我的错误在哪里:(?

编辑:这里有两个指向我的XML代码图片的链接(无法上传,因为我没有足够的声誉)

XML Part 1

XML Part 2

以下是复制粘贴的XML代码:

-<w:p w:rsidP="00CD4679" w:rsidRDefault="00F63A9F" w:rsidR="00CD4679" w:rsidRPr="00CD4679">-<w:pPr>-<w:rPr><w:b/></w:rPr></w:pPr>-<w:r>-<w:rPr><w:b/></w:rPr><w:t>test</w:t></w:r></w:p>-<w:tbl>-<w:tblPr><w:tblW w:w="0" w:type="auto"/><w:tblLook w:val="04A0"/></w:tblPr>-<w:tblGrid><w:gridCol w:w="2017"/><w:gridCol w:w="1473"/><w:gridCol w:w="1451"/><w:gridCol w:w="1492"/><w:gridCol w:w="1423"/><w:gridCol w:w="1432"/></w:tblGrid>-<w:tr w:rsidR="00B94E3A" w:rsidTr="00F63A9F">-<w:tc>-<w:tcPr><w:tcW w:w="2017" w:type="dxa"/></w:tcPr><w:p w:rsidRDefault="00B94E3A" w:rsidR="00B94E3A"/>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1473" w:type="dxa"/></w:tcPr>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1451" w:type="dxa"/></w:tcPr>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1492" w:type="dxa"/></w:tcPr>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1423" w:type="dxa"/></w:tcPr><w:p w:rsidRDefault="00B94E3A" w:rsidR="00B94E3A"/>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1432" w:type="dxa"/></w:tcPr><w:p w:rsidRDefault="00B94E3A" w:rsidR="00B94E3A"/>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc></w:tr>-<w:tr w:rsidR="00B94E3A" w:rsidTr="00F63A9F">-<w:tc>-<w:tcPr><w:tcW w:w="2017" w:type="dxa"/></w:tcPr>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1473" w:type="dxa"/></w:tcPr><w:p w:rsidRDefault="00B94E3A" w:rsidR="00B94E3A"/>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1451" w:type="dxa"/></w:tcPr>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1492" w:type="dxa"/></w:tcPr><w:p w:rsidRDefault="00B94E3A" w:rsidR="00B94E3A"/>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1423" w:type="dxa"/></w:tcPr><w:p w:rsidRDefault="00B94E3A" w:rsidR="00B94E3A"/>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc>-<w:tc>-<w:tcPr><w:tcW w:w="1432" w:type="dxa"/></w:tcPr><w:p w:rsidRDefault="00B94E3A" w:rsidR="00B94E3A"/>-<w:p w:rsidRDefault="00F63A9F" w:rsidR="00B94E3A">-<w:r><w:t>test</w:t></w:r></w:p></w:tc></w:tr></w:tbl><w:p w:rsidP="0081364D" w:rsidRDefault="00C46EF4" w:rsidR="00C46EF4"/>-<w:p w:rsidP="0081364D" w:rsidRDefault="00C46EF4" w:rsidR="00C46EF4" w:rsidRPr="00CD4679">-<w:pPr>-<w:rPr><w:b/></w:rPr></w:pPr>-<w:r><w:t>Ende der Vorlage</w:t></w:r></w:p>-<w:sectPr w:rsidR="00C46EF4" w:rsidRPr="00CD4679" w:rsidSect="006C532E"><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:gutter="0" w:footer="708" w:header="708" w:left="1417" w:bottom="1134" w:right="1417" w:top="1417"/><w:cols w:space="708"/><w:docGrid w:linePitch="360"/></w:sectPr>

1 个答案:

答案 0 :(得分:8)

public static void addBorders(Tbl table) 
{
    table.setTblPr(new TblPr());
    CTBorder border = new CTBorder();
    border.setColor("auto");
    border.setSz(new BigInteger("4"));
    border.setSpace(new BigInteger("0"));
    border.setVal(STBorder.SINGLE);

    TblBorders borders = new TblBorders();
    borders.setBottom(border);
    borders.setLeft(border);
    borders.setRight(border);
    borders.setTop(border);
    borders.setInsideH(border);
    borders.setInsideV(border);
    table.getTblPr().setTblBorders(borders);
}