0

https://support.content.office.net/en-us/media/fbe67397-658c-4b04-b295-b0d6759e1aaa.jpg

大家好,我需要在表格内添加行间距之前(间距约为6pt)效果。您可以看到上面的图像有一个段落间距,我需要这种效果。我正在使用 5.0.0 版本。并检查了许多网站。没什么用。如果有人帮助我,那就太好了。提前谢谢你:)

4

1 回答 1

3

设置段落间距apache poi提供了XWPFParagraph.setSpacingBeforeXWPFParagraph.setSpacingAfter。测量单位为int二十分之一点。8*20也是如此8 pt

在表格中,需要先获取 a 的第一段XWPFTableCell以设置间距:

...
XWPFTableRow tableRow = ...
...
XWPFTableCell cell = tableRow.getCell(1);
if (cell.getParagraphs().size() > 0) cell.getParagraphs().get(0).setSpacingBefore(8*20);
...

但是如果要求在单元格中垂直对齐,则应使用XWPFTableCell.setVerticalAlignment 。但这只有在最后一个段落之后没有间距将段落向上推时才能正确呈现。

所以

...
XWPFTableRow tableRow = ...
...
XWPFTableCell cell = tableRow.getCell(1);
cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
if (cell.getParagraphs().size() > 0) cell.getParagraphs().get(cell.getParagraphs().size()-1).setSpacingAfter(0);
...
于 2021-02-16T13:33:06.627 回答