如何向XWPFTableCell添加边框

时间:2015-05-13 09:11:58

标签: java apache-poi docx xwpf

我需要一个边框到我的XWPFTableCell,如下表所示。

        **XXX Technologies**

__________________
|姓名|性别|薪水|
__________________
Raji FeMale 24000
Ravi男性06790

4 个答案:

答案 0 :(得分:4)

CTTc ctTc = cell.getCTTc(); 
// here is need to change... 
CTTcPr tcPr = ctTc.addNewTcPr();
CTTcBorders border = tcPr.addNewTcBorders();
border.addNewRight().setVal(STBorder.SINGLE);

答案 1 :(得分:2)

此方法还允许您将表格的边框设置为所需的颜色。

private static void setTableBorderColor(XWPFTable table, String color) {

  table.getCTTbl().getTblPr().getTblBorders().getBottom().setColor(color);
  table.getCTTbl().getTblPr().getTblBorders().getTop().setColor(color);
  table.getCTTbl().getTblPr().getTblBorders().getLeft().setColor(color);
  table.getCTTbl().getTblPr().getTblBorders().getRight().setColor(color);
  table.getCTTbl().getTblPr().getTblBorders().getInsideH().setColor(color);
  table.getCTTbl().getTblPr().getTblBorders().getInsideV().setColor(color);

  table.getCTTbl().getTblPr().getTblBorders().getRight().setSz(BigInteger.valueOf(4));
  table.getCTTbl().getTblPr().getTblBorders().getTop().setSz(BigInteger.valueOf(4));
  table.getCTTbl().getTblPr().getTblBorders().getLeft().setSz(BigInteger.valueOf(4));
  table.getCTTbl().getTblPr().getTblBorders().getBottom().setSz(BigInteger.valueOf(4));
  table.getCTTbl().getTblPr().getTblBorders().getInsideH().setSz(BigInteger.valueOf(4));
  table.getCTTbl().getTblPr().getTblBorders().getInsideV().setSz(BigInteger.valueOf(4));
}

答案 2 :(得分:1)

您可以为您的单元格添加边框,如下所示

CTTc ctTc = cell.getCTTc();
CTTcPr tcPr = ctTc.getTcPr();
CTTcBorders border = tcPr.addNewTcBorders();

border.addNewBottom().setVal(STBorder.SINGLE);
border.addNewRight().setVal(STBorder.SINGLE);
border.addNewLeft().setVal(STBorder.SINGLE);
border.addNewTop().setVal(STBorder.SINGLE); 

答案 3 :(得分:0)

您可以使用此辅助函数来设置整个表格的样式(改编自Rahul khanvani):

    public static void tableSetBorders(
        XWPFTable table,
        STBorder.Enum borderType,
        int size,
        int space,
        String hexColor) {

    table.getCTTbl().getTblPr().getTblBorders().getBottom().setColor(hexColor);
    table.getCTTbl().getTblPr().getTblBorders().getTop().setColor(hexColor);
    table.getCTTbl().getTblPr().getTblBorders().getLeft().setColor(hexColor);
    table.getCTTbl().getTblPr().getTblBorders().getRight().setColor(hexColor);
    table.getCTTbl().getTblPr().getTblBorders().getInsideH().setColor(hexColor);
    table.getCTTbl().getTblPr().getTblBorders().getInsideV().setColor(hexColor);

    table.getCTTbl().getTblPr().getTblBorders().getRight().setSz(BigInteger.valueOf(size));
    table.getCTTbl().getTblPr().getTblBorders().getTop().setSz(BigInteger.valueOf(size));
    table.getCTTbl().getTblPr().getTblBorders().getLeft().setSz(BigInteger.valueOf(size));
    table.getCTTbl().getTblPr().getTblBorders().getBottom().setSz(BigInteger.valueOf(size));
    table.getCTTbl().getTblPr().getTblBorders().getInsideH().setSz(BigInteger.valueOf(size));
    table.getCTTbl().getTblPr().getTblBorders().getInsideV().setSz(BigInteger.valueOf(size));

    table.getCTTbl().getTblPr().getTblBorders().getBottom().setVal(borderType);
    table.getCTTbl().getTblPr().getTblBorders().getTop().setVal(borderType);
    table.getCTTbl().getTblPr().getTblBorders().getLeft().setVal(borderType);
    table.getCTTbl().getTblPr().getTblBorders().getRight().setVal(borderType);
    table.getCTTbl().getTblPr().getTblBorders().getInsideH().setVal(borderType);
    table.getCTTbl().getTblPr().getTblBorders().getInsideV().setVal(borderType);
}