Java使用POI处理excel中的时间格式

本文介绍了一种在Java中解析Excel表格中时间数据的方法,利用POI库的DataUtil类和SimpleDateFormat,将数字格式的时间转换为可读的日期时间格式。通过判断单元格类型,对日期格式的单元格进行特定格式的转换。

表格中的时间如果直接读取一般读取的数字,需要转换为时间格式,需要入下两步

1、使用DataUtil类,有时不能自动导入,可能需要手动

import org.apache.poi.ss.usermodel.DateUtil;
import java.text.SimpleDateFormat;
import java.util.Date;

 2、处理数据格式的单元格时,进行判断是否为时间,若是时间,则以指定格式处理(第12~19行)

public Object formGetCellType(Cell cell){
	Object value=null;
	try{
		if(cell.getCellType()==cell.CELL_TYPE_BLANK){
			value="";
		}else if(cell.getCellType()==cell.CELL_TYPE_BOOLEAN){
			value=cell.getBooleanCellValue();
		}else if(cell.getCellType()==cell.CELL_TYPE_ERROR){
			value="";
		}else if(cell.getCellType()==cell.CELL_TYPE_FORMULA){
			value=cell.getCellFormula();
		}else if(cell.getCellType()==cell.CELL_TYPE_NUMERIC){
			if (DateUtil.isCellDateFormatted(cell)) {
				Date tempValue = cell.getDateCellValue();
				SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				value = simpleFormat.format(tempValue);
			}else {
				value = String.valueOf(cell.getNumericCellValue());
			}
		}else if(cell.getCellType()==cell.CELL_TYPE_STRING){
			value=cell.getStringCellValue();
		}else{
			value=cell.getDateCellValue();
		}
	}catch(Exception e){
		e.printStackTrace();
	}
	return value;	
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值