使用Apache POI在Word表中进行单间距



我正在尝试在使用Apache POI创建的多个单词表中获得单个间距(或没有间距)。如果我使用默认参数创建XWPFT,则将间距建立为正常(1.5,如果没有错),但是我不知道如何更改默认间距。

您应该能够通过为相关段落设置段落属性来做到这一点。不幸的是,适当的属性没有在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"));

最新更新