Noticed unusual display when freezing sheet at cell "B3" : public void createFreezePane(int colSplit, int rowSplit, int leftmostColumn, int topRow) { CTPane pane = getPane(); if (colSplit > 0) pane.setXSplit(colSplit); if (rowSplit > 0) pane.setYSplit(rowSplit); pane.setState(STPaneState.FROZEN); if (rowSplit == 0) { pane.setTopLeftCell(new CellReference(0, topRow).formatAsString()); pane.setActivePane(STPane.TOP_RIGHT); } else if (colSplit == 0) { pane.setTopLeftCell(new CellReference(rowSplit, 0).formatAsString()); pane.setActivePane(STPane.BOTTOM_LEFT); } else { pane.setTopLeftCell(new CellReference(leftmostColumn, topRow).formatAsString()); pane.setActivePane(STPane.BOTTOM_RIGHT); } CTSheetView ctView = getDefaultSheetView(); ctView.setSelectionArray(null); CTSelection sel = ctView.addNewSelection(); sel.setPane(pane.getActivePane()); } the final else has: pane.setTopLeftCell(new CellReference(leftmostColumn, topRow).formatAsString()); but CellReference expects (row, column). FWIW: if (rowSplit == 0) { pane.setTopLeftCell(new CellReference(0, topRow).formatAsString()); also looks like an error.
I just ran into this issue as well. Fixing this issue is simply a matter of correctly switching the two parameters. Seems strange that this has persisted for through several releases.
I think this was fixed in a different bug lately, can you retest with a recent nightly build and see if it is now behaving correctly?
I just checked the svn trunk, and the code has been fixed. Thanks for the quick reply!