您的位置:首页 > 编程语言 > Java开发

在java中导入excel表格读取Excel数据的日期格式

2017-12-28 11:21 489 查看
在ExcelReader类中.getStringCellValue()方法里:

public static String getStringCellValue(Cell cell) {

if(cell == null){

return "";

}

String strCell = "";

switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_STRING:

strCell = cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_NUMERIC:

if (HSSFDateUtil.isCellDateFormatted(cell)) {// 处理日期格式、时间格式

SimpleDateFormat sdf = null;

if (cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("h:mm")) {

sdf = new SimpleDateFormat("HH:mm");

} else {// 日期

sdf = new SimpleDateFormat("yyyy-MM-dd");

}

Date date = cell.getDateCellValue();

strCell = sdf.format(date);

} else if (cell.getCellStyle().getDataFormat() == 58||cell.getCellStyle().getDataFormat() == 14||cell.getCellStyle().getDataFormat() == 57||cell.getCellStyle().getDataFormat() == 31) {

// 处理自定义日期格式:m月d日(通过判断单元格的格式id解决,id的值是58)

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

double value = cell.getNumericCellValue();

Date date = org.apache.poi.ss.usermodel.DateUtil

.getJavaDate(value);

strCell = sdf.format(date);

} else {

double value = cell.getNumericCellValue();

CellStyle style = cell.getCellStyle();

DecimalFormat format = new DecimalFormat();

String temp = style.getDataFormatString();

// 单元格设置成常规

if (temp.equals("General")) {

format.applyPattern("#");

}

strCell = format.format(value);

}

break;

case HSSFCell.CELL_TYPE_BOOLEAN:

strCell = String.valueOf(cell.getBooleanCellValue());

break;

case HSSFCell.CELL_TYPE_FORMULA://新加的公式类型

strCell =cell.getCellFormula().toString();

break;

case HSSFCell.CELL_TYPE_BLANK:

strCell = "";

break;

default:

strCell = "";

break;

}

if (strCell.equals("") || strCell == null) {

return "";

}

if (cell == null) {

return "";

}

return strCell;

}

所有日期格式都可以通过getDataFormat()值ID值来判断

yyyy-MM-dd-----    14

yyyy年m月d日---    31

yyyy年m月-------    57

m月d日  ----------    58

HH:mm-----------    20

h时mm分  -------    32
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: