防止合并单元格跨页拆分



我已经用jxls和POI生成了一个Excel文档。现在POI已经合并了单元格,一半的数据在页面1&第2页中合并单元格的另一半。我该如何预防?

很遗憾你不能。这是Excel的一个缺点。Excel不提供";将合并的单元格保持在一页上";特色需要在新页面上的第一行的上方设置一个明确的分页符。

Apache POI提供了Sheet.setRowBreak。

因此,您需要知道合并单元格拆分为两页的第一行是哪一行。然后将换行符设置为上面的行。

例如,如果将合并单元格拆分为两页的行的第一行索引为25,则:

...
Sheet sheet ...
...
sheet.setRowBreak(24);
...

当然,只有当页面上的行位置是静态的,或者知道一个页面可以容纳多少行时,才能使用此选项。我不知道还有什么更动态的解决方案。


如果合并列拆分为两页,情况也是如此。然后需要手动设置分栏符。

Apache POI提供了Sheet.setColumnBreak。

当然,这和手动换行有同样的缺点。

最新更新