我已经用jxls和POI生成了一个Excel文档。现在POI已经合并了单元格,一半的数据在页面1&第2页中合并单元格的另一半。我该如何预防?
很遗憾你不能。这是Excel的一个缺点。Excel不提供";将合并的单元格保持在一页上";特色需要在新页面上的第一行的上方设置一个明确的分页符。
Apache POI提供了Sheet.setRowBreak。
因此,您需要知道合并单元格拆分为两页的第一行是哪一行。然后将换行符设置为上面的行。
例如,如果将合并单元格拆分为两页的行的第一行索引为25,则:
...
Sheet sheet ...
...
sheet.setRowBreak(24);
...
当然,只有当页面上的行位置是静态的,或者知道一个页面可以容纳多少行时,才能使用此选项。我不知道还有什么更动态的解决方案。
如果合并列拆分为两页,情况也是如此。然后需要手动设置分栏符。
Apache POI提供了Sheet.setColumnBreak。
当然,这和手动换行有同样的缺点。