/**
* 获取EXCEL单元格的值,一律转为String返回
* @param cell
* @return
*/
private String getCellStrValue(Cell cell) {
String value = "";
if (cell != null) {
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
if(DateUtil.isCellDateFormatted(cell)){ // 处理日期格式、时间格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = cell.getDateCellValue();
value = sdf.format(date);
}else{
DataFormatter data = new DataFormatter();
value = data.formatCellValue(cell);
}
break;
case Cell.CELL_TYPE_STRING:
value = cell.getStringCellValue().trim();
break;
case Cell.CELL_TYPE_FORMULA:
break;
case Cell.CELL_TYPE_BOOLEAN:
value += cell.getBooleanCellValue() + "";
break;
default:
break;
}
}
return value;
}
/**
* 功能:判断是否是空行
* */
private boolean isBlankRow(org.apache.poi.ss.usermodel.Row columnRow,
int excelLastcell) {
String value = "";
for (int i = 0; i < excelLastcell; i++) {
Cell cell = columnRow.getCell(i);
if (cell != null) {
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
value += cell.getNumericCellValue() + "";
break;
case Cell.CELL_TYPE_STRING:
value += cell.getStringCellValue();
break;
case Cell.CELL_TYPE_FORMULA:
break;
case Cell.CELL_TYPE_BOOLEAN:
value += cell.getBooleanCellValue() + "";
break;
default:
break;
}
}
}
if (value == null || "".equals(value)) {
return true;
} else {
return false;
}
}
Row dataRow = null;
org.apache.poi.ss.usermodel.Row excelheadRow = sheet.getRow(0);
int excelLastcell = excelheadRow.getLastCellNum(); //纵列数
//执行操作
for(int n=1;n<=lastNum;n++){
dataRow = sheet.getRow(n);
if (isBlankRow(dataRow, excelLastcell)) { //空行则跳过
continue;
}
.....
}
--摘自收费系统的导入迎新数据,在系统管理-学生管理中