Patch from bug #46092 - fix hssf dev utility

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@708252 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2008-10-27 17:59:39 +00:00
parent 08a990b5db
commit 15826b72f2
1 changed files with 14 additions and 10 deletions

View File

@ -221,7 +221,7 @@ public class HSSF
if (args.length < 2) if (args.length < 2)
{ {
/* try try
{ {
HSSF hssf = new HSSF(args[ 0 ]); HSSF hssf = new HSSF(args[ 0 ]);
@ -230,26 +230,30 @@ public class HSSF
for (int k = 0; k < wb.getNumberOfSheets(); k++) for (int k = 0; k < wb.getNumberOfSheets(); k++)
{ {
System.out.println("Sheet " + k);
HSSFSheet sheet = wb.getSheetAt(k); HSSFSheet sheet = wb.getSheetAt(k);
int rows = sheet.getPhysicalNumberOfRows(); int rows = sheet.getPhysicalNumberOfRows();
System.out.println("Sheet " + k + " \""
+ wb.getSheetName(k) + "\" has "
+ rows + " row(s).");
for (int r = 0; r < rows; r++) for (int r = 0; r < rows; r++)
{ {
HSSFRow row = sheet.getPhysicalRowAt(r); HSSFRow row = sheet.getRow(r);
int cells = row.getPhysicalNumberOfCells(); int cells = (row != null) ? row.getPhysicalNumberOfCells() : 0;
if (row != null) {
System.out.println("ROW " + row.getRowNum()); System.out.println("\nROW " + row.getRowNum()
+ " has " + cells + " cell(s).");
}
for (int c = 0; c < cells; c++) for (int c = 0; c < cells; c++)
{ {
HSSFCell cell = row.getPhysicalCellAt(c); HSSFCell cell = row.getCell(c);
String value = null; String value = null;
switch (cell.getCellType()) switch (cell.getCellType())
{ {
case HSSFCell.CELL_TYPE_FORMULA : case HSSFCell.CELL_TYPE_FORMULA :
value = "FORMULA "; value = "FORMULA value="
+ cell.getCellFormula();
break; break;
case HSSFCell.CELL_TYPE_NUMERIC : case HSSFCell.CELL_TYPE_NUMERIC :
@ -274,7 +278,7 @@ public class HSSF
catch (Exception e) catch (Exception e)
{ {
e.printStackTrace(); e.printStackTrace();
}*/ }
} }
else if (args.length == 2) else if (args.length == 2)
{ {