Word表中使用Apache POI的单个间距

时间:2016-12-02 22:31:41

标签: java apache-poi

我试图在使用Apache POI创建的多个Word表中获得单个间距(或没有间距)。如果我使用默认参数创建XWPFTable,则间距设置为Normal(1.5如果我没错),但我不知道如何更改默认间距。

1 个答案:

答案 0 :(得分:1)

您应该可以通过设置相关段落的段落属性来实现。不幸的是,API中没有表现出适当的属性。请在bugzilla https://bz.apache.org/bugzilla/buglist.cgi?product=POI中报告此问题,我将尝试将其发布到下一个版本中。与此同时,您可以通过添加以下方法来修改XWPFParagraph:

public void setSpacingBetween(int spaces, LineSpacingRule rule) {
    CTSpacing spacing = getCTSpacing(true);
    spacing.setLine(new BigInteger("" + spaces));
    spacing.setLineRule(STLineSpacingRule.Enum.forInt(rule.getValue()));
}

或者您可以使用CT类将相应的属性添加到段落属性中(如果p是您的段落):

CTP ctP = p.getCTP();
CTPPr ctPr = ctP.isSetPPr() ? ctP.getPPr() : ctP.addNewPPr();
CTSpacing ctSpacing = ctPr.isSetSpacing() ? ctPr.getSpacing() : ctPr.addNewSpacing();
ctSpacing.setLine(new BigInteger("240"));