我可以使用Apache POI一次在同一个工作表中创建冻结窗格和拆分窗格吗?

时间:2014-03-17 06:33:21

标签: java apache-poi xssf hssf

我正在使用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); 

我应该如何在同一张纸上一起工作?

1 个答案:

答案 0 :(得分:1)

据我所知,Excel并不支持同一工作表中同时包含冻结窗格和拆分窗格。 This link似乎表明Excel不允许这样做。

无论Excel是否允许,POI也不支持它。

createSplitPane的Javadoc明确指出:

  

创建拆分窗格。任何现有的冻结窗格或拆分窗格都会被覆盖。

createFreezePane的Javadocs说了类似的话。

  

创建分割(freezepane)。任何现有的冻结窗格或拆分窗格都会被覆盖。

另外,只需打开Excel(我有Excel 2010),如果我创建拆分窗格,然后是冻结窗格,拆分窗格就会消失。如果我然后创建拆分窗格,则冻结窗格将消失。

Excel(至少到2010年)似乎并不同时支持冻结窗格和拆分窗格,而Apache POI则尊重这一事实。