diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java b/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java index 3d2f99f41..9c1f1457f 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java @@ -228,7 +228,7 @@ public final class HSSFCell { /** * Set the cell's number within the row (0 based). * @param num short the cell number - * @deprecated Doesn't update the row's idea of what cell this is, use {@link HSSFRow#moveCell(HSSFCell, short)} instead + * @deprecated (Jan 2008) Doesn't update the row's idea of what cell this is, use {@link HSSFRow#moveCell(HSSFCell, short)} instead */ public void setCellNum(short num) { @@ -246,13 +246,14 @@ public final class HSSFCell { } /** - * get the cell's number within the row - * @return short reperesenting the column number (logical!) + * @deprecated (Oct 2008) use {@link #getColumnIndex()} */ - - public short getCellNum() - { - return record.getColumn(); + public short getCellNum() { + return (short) getColumnIndex(); + } + + public int getColumnIndex() { + return record.getColumn() & 0xFFFF; } /** diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java b/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java index e5e7116ae..97b581724 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFEvaluationCell.java @@ -55,7 +55,7 @@ final class HSSFEvaluationCell implements EvaluationCell { return _cell.getCellType(); } public int getColumnIndex() { - return _cell.getCellNum(); + return _cell.getColumnIndex(); } public int getErrorCellValue() { return _cell.getErrorCellValue(); diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java b/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java index 47dbc03d4..b64d3de6e 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java @@ -149,7 +149,7 @@ public final class HSSFRow implements Comparable { } private void removeCell(HSSFCell cell, boolean alsoRemoveRecords) { - short column=cell.getCellNum(); + int column=cell.getColumnIndex(); if(column < 0) { throw new RuntimeException("Negative cell indexes not allowed"); } @@ -163,10 +163,10 @@ public final class HSSFRow implements Comparable { sheet.getSheet().removeValueRecord(getRowNum(), cval); } - if (cell.getCellNum()+1 == row.getLastCol()) { + if (cell.getColumnIndex()+1 == row.getLastCol()) { row.setLastCol((short) (findLastCell(row.getLastCol())+1)); } - if (cell.getCellNum() == row.getFirstCol()) { + if (cell.getColumnIndex() == row.getFirstCol()) { row.setFirstCol(findFirstCell(row.getFirstCol())); } } @@ -246,7 +246,7 @@ public final class HSSFRow implements Comparable { } // Check it's one of ours - if(! cells[cell.getCellNum()].equals(cell)) { + if(! cells[cell.getColumnIndex()].equals(cell)) { throw new IllegalArgumentException("Asked to move a cell, but it didn't belong to our row"); } @@ -262,7 +262,7 @@ public final class HSSFRow implements Comparable { */ private void addCell(HSSFCell cell) { - short column=cell.getCellNum(); + int column=cell.getColumnIndex(); // re-allocate cells array as required. if(column>=cells.length) { HSSFCell[] oldCells=cells; @@ -277,7 +277,7 @@ public final class HSSFRow implements Comparable { // fix up firstCol and lastCol indexes if (row.getFirstCol() == -1 || column < row.getFirstCol()) { - row.setFirstCol(column); + row.setFirstCol((short)column); } if (row.getLastCol() == -1 || column >= row.getLastCol()) { diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestIndexFunctionFromSpreadsheet.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestIndexFunctionFromSpreadsheet.java index c869bd4b2..1fbf0ce94 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestIndexFunctionFromSpreadsheet.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestIndexFunctionFromSpreadsheet.java @@ -205,10 +205,10 @@ public final class TestIndexFunctionFromSpreadsheet extends TestCase { } - private static String formatTestCaseDetails(String sheetName, int rowNum, HSSFCell c) { + private static String formatTestCaseDetails(String sheetName, int rowIndex, HSSFCell c) { StringBuffer sb = new StringBuffer(); - CellReference cr = new CellReference(sheetName, rowNum, c.getCellNum(), false, false); + CellReference cr = new CellReference(sheetName, rowIndex, c.getColumnIndex(), false, false); sb.append(cr.formatAsString()); sb.append(" {=").append(c.getCellFormula()).append("}"); return sb.toString(); diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLookupFunctionsFromSpreadsheet.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLookupFunctionsFromSpreadsheet.java index 84a9417fa..a5d156e4c 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLookupFunctionsFromSpreadsheet.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/TestLookupFunctionsFromSpreadsheet.java @@ -256,11 +256,11 @@ public final class TestLookupFunctionsFromSpreadsheet extends TestCase { } - private static String formatTestCaseDetails(String sheetName, int rowNum, HSSFCell c, String currentGroupComment, + private static String formatTestCaseDetails(String sheetName, int rowIndex, HSSFCell c, String currentGroupComment, String rowComment) { StringBuffer sb = new StringBuffer(); - CellReference cr = new CellReference(sheetName, rowNum, c.getCellNum(), false, false); + CellReference cr = new CellReference(sheetName, rowIndex, c.getColumnIndex(), false, false); sb.append(cr.formatAsString()); sb.append(" {=").append(c.getCellFormula()).append("}"); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBug42464.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBug42464.java index e2e3234fc..31a8a7dfb 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBug42464.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBug42464.java @@ -66,7 +66,7 @@ public final class TestBug42464 extends TestCase { FormulaRecord r = record.getFormulaRecord(); Ptg[] ptgs = r.getParsedExpression(); - String cellRef = new CellReference(row.getRowNum(), cell.getCellNum(), false, false).formatAsString(); + String cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex(), false, false).formatAsString(); if(false && cellRef.equals("BP24")) { // TODO - replace System.out.println()s with asserts System.out.print(cellRef); System.out.println(" - has " + ptgs.length + " ptgs:"); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index fdaf1d04d..08a700466 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -617,7 +617,7 @@ public final class TestBugs extends TestCase { int cellNum = 0; for (Iterator it2 = row.cellIterator(); it2.hasNext(); cellNum++) { HSSFCell cell = (HSSFCell)it2.next(); - assertEquals(cellNum, cell.getCellNum()); + assertEquals(cellNum, cell.getColumnIndex()); } } } diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java index b26f8717d..b0bb2b097 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java @@ -114,7 +114,7 @@ public final class TestHSSFComment extends TestCase { assertFalse("cells in the second column have not empyy notes", "".equals(comment.getString().getString())); assertEquals(rownum, comment.getRow()); - assertEquals(cell.getCellNum(), comment.getColumn()); + assertEquals(cell.getColumnIndex(), comment.getColumn()); } } diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java index d11e8856e..8e7864fad 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java @@ -20,7 +20,6 @@ package org.apache.poi.hssf.usermodel; import junit.framework.TestCase; import org.apache.poi.hssf.HSSFTestDataSamples; -import org.apache.poi.hssf.usermodel.HSSFRow.MissingCellPolicy; /** * Test HSSFRow is okay. @@ -152,7 +151,7 @@ public final class TestHSSFRow extends TestCase { assertNull(row.getCell(1)); assertNotNull(row.getCell(5)); - assertEquals(5, cellB2.getCellNum()); + assertEquals(5, cellB2.getColumnIndex()); assertEquals(2, row.getFirstCellNum()); assertEquals(6, row.getLastCellNum()); } @@ -258,12 +257,12 @@ public final class TestHSSFRow extends TestCase { assertEquals(HSSFCell.CELL_TYPE_NUMERIC, row.getCell(5, HSSFRow.CREATE_NULL_AS_BLANK).getCellType()); // Check created ones get the right column - assertEquals((short)0, row.getCell(0, HSSFRow.CREATE_NULL_AS_BLANK).getCellNum()); - assertEquals((short)1, row.getCell(1, HSSFRow.CREATE_NULL_AS_BLANK).getCellNum()); - assertEquals((short)2, row.getCell(2, HSSFRow.CREATE_NULL_AS_BLANK).getCellNum()); - assertEquals((short)3, row.getCell(3, HSSFRow.CREATE_NULL_AS_BLANK).getCellNum()); - assertEquals((short)4, row.getCell(4, HSSFRow.CREATE_NULL_AS_BLANK).getCellNum()); - assertEquals((short)5, row.getCell(5, HSSFRow.CREATE_NULL_AS_BLANK).getCellNum()); + assertEquals(0, row.getCell(0, HSSFRow.CREATE_NULL_AS_BLANK).getColumnIndex()); + assertEquals(1, row.getCell(1, HSSFRow.CREATE_NULL_AS_BLANK).getColumnIndex()); + assertEquals(2, row.getCell(2, HSSFRow.CREATE_NULL_AS_BLANK).getColumnIndex()); + assertEquals(3, row.getCell(3, HSSFRow.CREATE_NULL_AS_BLANK).getColumnIndex()); + assertEquals(4, row.getCell(4, HSSFRow.CREATE_NULL_AS_BLANK).getColumnIndex()); + assertEquals(5, row.getCell(5, HSSFRow.CREATE_NULL_AS_BLANK).getColumnIndex()); // Now change the cell policy on the workbook, check