java poi读取Excel,怎么判断空行?寻高手
这几天正在做批量导入,遇到了这样个问题,就是Excel中的一行如果是空行,此空行是空格,不是没有数据,哪位大哥能指点指点该怎么判断?以下是读取代码:
private static List<List<Object>> read2003Excel(File file)
throws IOException {
try {
FileInputStream is = new FileInputStream(file);
HSSFWorkbook wbs = new HSSFWorkbook(is);
HSSFSheet childSheet = wbs.getSheetAt(1);// 此处可能有问题
int rowNum = childSheet.getLastRowNum() + 1;
// System.out.println(childSheet.getPhysicalNumberOfRows());
System.out.println("有行数" + rowNum);
for (int j = 1; j < rowNum; j++) {
HSSFRow row = childSheet.getRow(j);
// System.out.println(row.getPhysicalNumberOfCells());
// System.out.println("有列数" + row.getLastCellNum());
if (null != row) {
Map map = new HashMap();
for (int k = 0; k < row.getLastCellNum(); k++) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
HSSFCell cell = row.getCell((short) k);
HSSFCell cell1 = row.getCell((short) 0);
System.out.println(cell1.toString());
if (null != cell) {
if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
String s = String.valueOf(((long) cell
.getNumericCellValue()));
map.put(list.get(k), s);
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
map.put(list.get(k), cell.getStringCellValue());
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_BLANK) {
map.put(list.get(k), " ");
}
} else {
System.out.print(" ");
}
}
System.out.println(map);
} else {
System.out.println("空");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
没分了,将就了