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