【发布时间】:2016-12-07 22:36:51
【问题描述】:
我正在尝试在使用 Apache POI 创建的多个 Word 表中获得单个间距(或无间距)。如果我使用默认参数创建XWPFTable,则间距设置为Normal(如果我没记错的话是1.5),但我不知道如何更改默认间距。
【问题讨论】:
标签: java apache-poi
我正在尝试在使用 Apache POI 创建的多个 Word 表中获得单个间距(或无间距)。如果我使用默认参数创建XWPFTable,则间距设置为Normal(如果我没记错的话是1.5),但我不知道如何更改默认间距。
【问题讨论】:
标签: java apache-poi
您应该能够通过设置相关段落的段落属性来做到这一点。不幸的是,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"));
【讨论】: