diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java b/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java index a6a1500321..2554f539f9 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java @@ -232,7 +232,7 @@ public class HSSFCell implements Cell { /** * 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) { @@ -250,13 +250,14 @@ public class HSSFCell implements Cell { } /** - * 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 e5e7116ae3..97b581724a 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 1e211cced9..3668a53393 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java @@ -155,7 +155,7 @@ public final class HSSFRow implements Comparable, Row { } 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"); } @@ -169,10 +169,10 @@ public final class HSSFRow implements Comparable, Row { 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())); } } @@ -252,7 +252,7 @@ public final class HSSFRow implements Comparable, Row { } // 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"); } @@ -268,7 +268,7 @@ public final class HSSFRow implements Comparable, Row { */ 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; @@ -283,7 +283,7 @@ public final class HSSFRow implements Comparable, Row { // 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/ooxml/interfaces-jdk14/org/apache/poi/ss/usermodel/Cell.java b/src/ooxml/interfaces-jdk14/org/apache/poi/ss/usermodel/Cell.java index 823b6191c8..a42fbc2643 100644 --- a/src/ooxml/interfaces-jdk14/org/apache/poi/ss/usermodel/Cell.java +++ b/src/ooxml/interfaces-jdk14/org/apache/poi/ss/usermodel/Cell.java @@ -77,7 +77,15 @@ public interface Cell { int getCellType(); + /** + * @deprecated (Oct 2008) use {@link #getColumnIndex()} + */ short getCellNum(); + + /** + * @return the cell's column index (zero based) + */ + int getColumnIndex(); int getRowIndex(); String getCellFormula(); diff --git a/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Cell.java b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Cell.java index 331dd1e78b..15e7f1b822 100644 --- a/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Cell.java +++ b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Cell.java @@ -98,11 +98,14 @@ public interface Cell { void setCellNum(short num); /** - * get the cell's number within the row - * @return short reperesenting the column number (logical!) + * @deprecated (Oct 2008) use {@link #getColumnIndex()} */ - short getCellNum(); + + /** + * @return the cell's column index (zero based) + */ + int getColumnIndex(); int getRowIndex(); diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java index 73952d99a7..9d52a7fa55 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java @@ -107,8 +107,14 @@ public final class XSSFCell implements Cell { return this.cell.getF().getStringValue(); } + /** + * @deprecated use {@link #getColumnIndex()} + */ public short getCellNum() { - return (short)this.cellNum; + return (short)getColumnIndex(); + } + public int getColumnIndex() { + return this.cellNum; } public int getRowIndex() { return row.getRowNum(); 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 2b0f776f73..e40578033d 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 5bacdbfca9..b0b6ece7f1 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 73ee3f8486..2c2c2ea0c3 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 0178d336fe..4c8604b698 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -619,7 +619,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 4ea0762dda..9525a181a1 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java @@ -134,7 +134,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 c9b3bc74d1..8e7864fad2 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.ss.usermodel.Row.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