标签:解释 开始 行数据 tla 简单 nbsp 空行 number bsp
由于项目中使用POI导入,导出excel,对其中几个获取行号和列号的方法返回的结果感到迷惑,
所以特地写了代码进行测试,这里记录一下,方便以后查看.
结论:
getLastRowNum: 返回excel中最后一行数据的物理行号减1,空Sheet返回0.
getPhysicalNumberOfRows:返回所有非空行的总行数,空sheet返回0.
getRow(int index): 索引从0开始,0对应excel中的第一行.空行返回null
getLastCellNum:返回行的最后一列数据的列号,从1开始
getPhysicalNumberOfCells:返回所有非空列的总列数.
getCell(int index):索引从0开始,0对应excel中的第一列.空列返回null
下列为测试代码,比较简单,不多解释:
// sheet无任何数据
System.out.println("getLastRowNum:"+sheet.getLastRowNum());
System.out.println("getPhysicalNumberOfRows:"+sheet.getPhysicalNumberOfRows());
System.out.println("getLastCellNum:"+sheet.getRow(0).getLastCellNum());// 报错,空指针,行为null
System.out.println("getPhysicalNumberOfCells:"+sheet.getRow(0).getPhysicalNumberOfCells());//报错,空指针,行为null
console:
getLastRowNum:0
getPhysicalNumberOfRows:0
Exception in thread "main" java.lang.NullPointerException
at com.sample.utils.ExcelUtilTest.testPOI(ExcelUtilTest.java:92)
at com.sample.utils.ExcelUtilTest.main(ExcelUtilTest.java:63)
// sheet第一行第一列有数据
System.out.println("getLastRowNum:"+sheet.getLastRowNum());
System.out.println("getPhysicalNumberOfRows:"+sheet.getPhysicalNumberOfRows());
System.out.println("getLastCellNum:"+sheet.getRow(0).getLastCellNum());
System.out.println("getPhysicalNumberOfCells:"+sheet.getRow(0).getPhysicalNumberOfCells());
console:
getLastRowNum:0
getPhysicalNumberOfRows:1
getLastCellNum:1
getPhysicalNumberOfCells:1
// sheet第二行第二列有数据
System.out.println("getLastRowNum:"+sheet.getLastRowNum());
System.out.println("getPhysicalNumberOfRows:"+sheet.getPhysicalNumberOfRows());
System.out.println("getLastCellNum:"+sheet.getRow(0).getLastCellNum());// 报错,空指针,行为null
System.out.println("getPhysicalNumberOfCells:"+sheet.getRow(0).getPhysicalNumberOfCells());// 报错,空指针,行为null
console:
getLastRowNum:1
getPhysicalNumberOfRows:1
Exception in thread "main" java.lang.NullPointerException
at com.sample.utils.ExcelUtilTest.testPOI(ExcelUtilTest.java:92)
at com.sample.utils.ExcelUtilTest.main(ExcelUtilTest.java:63)
// sheet第二行第二列有数据
System.out.println("getLastRowNum:"+sheet.getLastRowNum());
System.out.println("getPhysicalNumberOfRows:"+sheet.getPhysicalNumberOfRows());
System.out.println("getLastCellNum:"+sheet.getRow(1).getLastCellNum());
System.out.println("getPhysicalNumberOfCells:"+sheet.getRow(1).getPhysicalNumberOfCells());
System.out.println("getCell:" + row.getCell(1));
console:
getLastRowNum:1
getPhysicalNumberOfRows:1
getLastCellNum:2
getPhysicalNumberOfCells:1
getCell:文本
POI测试使用
标签:解释 开始 行数据 tla 简单 nbsp 空行 number bsp
原文地址:http://www.cnblogs.com/jia-bei/p/8012364.html