使用apache poi库生成docx文件时,我遇到了一个问题。我有多个可变大小的表格需要动态地包含在文档中。问题是表格会分割在页面之间。我的要求是防止表格在页面之间分割。在poi库中,我找到了table.getRow(0).setCantSplitRow(true);
方法,但没有改变任何东西。有什么建议如何实现这个功能。提前感谢。
使用apache poi库生成docx文件时,我遇到了一个问题。我有多个可变大小的表格需要动态地包含在文档中。问题是表格会分割在页面之间。我的要求是防止表格在页面之间分割。在poi库中,我找到了table.getRow(0).setCantSplitRow(true);
方法,但没有改变任何东西。有什么建议如何实现这个功能。提前感谢。
:
**setCantSplitRow(boolean split)
这个属性控制是否允许表格行跨页分割。
tableRow.setCantSplitRow(true);
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被用于所有段落=)