2016-12-02 157 views
0

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

回答

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"));