Apache POI锁头行
有没有人熟悉一种方法来locking在使用Apache POI 3.7创build的电子表格中的一行? 通过locking我的意思是我希望列的标题行保持可见,当用户滚动通过行。 我创build的电子表格将有500行,如果列的名称始终可见,这将是有益的。
如果需要冻结工作表中任何地方的任何特定行,可以使用(在org.apache.poi.ss.usermodel.Sheet
)(也可以在POI 3.7中使用)
Sheet.createFreezePane(int colSplit, int rowSplit, int leftmostColumn, int topRow)
在你的情况下,如果你只想冻结你的第一个x行然后int leftmostColumn, int topRow
部分将被删除,你可以使用只是
Sheet.createFreezePane(int colSplit, int rowSplit)
例如
sheet1.createFreezePane(0, 5); // this will freeze first five rows
为此,您可以创build一个冻结窗格,如下所示:
workbook.getSheetAt(workbook.getActiveSheetIndex()).createFreezePane(0, 1);
这将冻结第一排。 还有另一种方法有更多的select,所以检查一下API 。
唯一要注意的是,如果您使用的是XSSF工作簿 – 在3.8-beta3版中提到了一个修正了使用XSSF电子表格的冻结窗格的行为的错误修正:
50884 – XSSF和HSSF冻结窗格现在performance相同(poi-developers)
我不知道这个细节,但是如果你在那条船上,这是值得研究的。