防止 Apache POI 中表格分裂

3

使用apache poi库生成docx文件时,我遇到了一个问题。我有多个可变大小的表格需要动态地包含在文档中。问题是表格会分割在页面之间。我的要求是防止表格在页面之间分割。在poi库中,我找到了table.getRow(0).setCantSplitRow(true);方法,但没有改变任何东西。有什么建议如何实现这个功能。提前感谢。


setCantSplitRow(true) 对我也不起作用 - Sumama Waheed
2个回答

1
尝试使用表格行函数:

**setCantSplitRow(boolean split)

这个属性控制是否允许表格行跨页分割。

tableRow.setCantSplitRow(true);


这项工作只是为了排列。 - trom

0
要使表格不可分割,您应该为表格中的所有段落设置属性 "isKeepNext = true",就像这样(对于Kotlin):
fun XWPFTable.setUnsplittable(): XWPFTable {
return apply {
    rows.map { row ->
        row.tableCells.map { cell ->
            cell.paragraphs.map { paragraph ->
                if (paragraph.ctp?.pPr == null) paragraph.ctp.addNewPPr().addNewKeepLines()
                paragraph.isKeepNext = true
            }
        }
    }
}

}

所以,如果你想在MS Word中检查它的工作原理,你可以选择表格,并在段落设置中包括“与下一段保持在一起”,最后将文档保存为.xml文件,然后看到isKeepNext被用于所有段落=)

所以我还没有找到类似于setCantSplitRow的用于行的属性。 - trom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接