You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@poi.apache.org by Ian <ia...@hotmail.com> on 2011/06/23 21:00:22 UTC
Bug: IndexOutOfBoundsException with XSSF createFreezePane contains 0 for col or row
I'm getting IndexOutOfBoundsException when I try to used createFreezePane with
XSSF. It works fine with HSSF.
Tested with version "6 June 2011 - POI 3.8 beta 3"
I did a quick test using test49381() from
testcases\org\apache\poi\xssf\usermodel\TestXSSFBugs.java and modified colSplit
to 0 to produce the error.
Is this a known bug? I searched the bug database and could not find anything.
It may be related to bug 47964 or bug 50884 but I'm not sure.
Thanks.
Ian
------------ error message -----------
Exception in thread "main" java.lang.IndexOutOfBoundsException
at org.apache.xmlbeans.impl.store.Xobj.remove_attribute(Xobj.java:2269)
at
org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTPaneImpl.unsetXSplit
(UnknownSource)
at org.apache.poi.xssf.usermodel.XSSFSheet.createFreezePane(XSSFSheet.java:
499)
at FreezePaneTest.test49381(FreezePaneTest.java:38)
at FreezePaneTest.main(FreezePaneTest.java:14)
------------ FreezePaneTest.java -----------
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.PaneInformation;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
public class FreezePaneTest {
public static void main(String[] args) throws Exception {
FreezePaneTest t = new FreezePaneTest();
t.test49381();
}
public void test49381() throws Exception {
Workbook[] wbs = new Workbook[] { new HSSFWorkbook(), new XSSFWorkbook() };
int colSplit = 0;
int rowSplit = 2;
int leftmostColumn = 3;
int topRow = 4;
for(Workbook wb : wbs) {
Sheet s = wb.createSheet();
// Populate
for(int rn=0; rn<= topRow; rn++) {
Row r = s.createRow(rn);
for(int cn=0; cn<leftmostColumn; cn++) {
Cell c = r.createCell(cn, Cell.CELL_TYPE_NUMERIC);
c.setCellValue(100*rn + cn);
}
}
// Create the Freeze Pane
s.createFreezePane(colSplit, rowSplit, leftmostColumn, topRow);
PaneInformation paneInfo = s.getPaneInformation();
// Now a row only freezepane
s.createFreezePane(0, 3);
paneInfo = s.getPaneInformation();
if(wb == wbs[0]) {
} else {
}
// Now a column only freezepane
s.createFreezePane(4, 0);
paneInfo = s.getPaneInformation();
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
For additional commands, e-mail: user-help@poi.apache.org
Re: Bug: IndexOutOfBoundsException with XSSF createFreezePane contains 0 for col or row
Posted by Ian <ia...@hotmail.com>.
Hi
I have just tested this with POI 3.8 beta 4 and the problem is still there.
Can some one point me to the related bug.
Thank you.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
For additional commands, e-mail: user-help@poi.apache.org