我正在使用Apache POI XSSF和HSSF API。
如果我这样做,它只会冻结窗格(不分割):
sheet1.createSplitPane(8000, 5000, 0, 0, Sheet.PANE_LOWER_RIGHT);
sheet1.createFreezePane(0, 1);
如果我这样做,它只会拆分窗格(不冻结):
sheet1.createFreezePane(0, 1);
sheet1.createSplitPane(8000, 5000, 0, 0, Sheet.PANE_LOWER_RIGHT);
我应该如何在同一张纸上一起工作?
答案 0 :(得分:1)
据我所知,Excel并不支持同一工作表中同时包含冻结窗格和拆分窗格。 This link似乎表明Excel不允许这样做。
无论Excel是否允许,POI也不支持它。
createSplitPane的Javadoc明确指出:
创建拆分窗格。任何现有的冻结窗格或拆分窗格都会被覆盖。
和createFreezePane的Javadocs说了类似的话。
创建分割(freezepane)。任何现有的冻结窗格或拆分窗格都会被覆盖。
另外,只需打开Excel(我有Excel 2010),如果我创建拆分窗格,然后是冻结窗格,拆分窗格就会消失。如果我然后创建拆分窗格,则冻结窗格将消失。
Excel(至少到2010年)似乎并不同时支持冻结窗格和拆分窗格,而Apache POI则尊重这一事实。