您的位置:首页 > 其它

POI对EXCEL中时间格式数据的读取

2014-07-03 11:54 423 查看
1、Excel存储日期、时间均以数值类型进行存储,读取时POI先判断是是否是数值类型,再进行判断,判断数值:

HSSFCell.CELL_TYPE_NUMERIC==cell.getCellType()

2.日期格式处理yyyy-MM-dd, d/m/yyyy h:mm, HH:mm 等不含文字的日期格式

1).判断是否是日期格式:HSSFDateUtil.isCellDateFormatted(cell)

2).判断是日期或者时间

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

OR:
cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("yyyy-MM-dd")

3.自定义日期格式处理yyyy年m月d日,h时mm分,yyyy年m月等含文字的日期格式

判断cell.getCellStyle().getDataFormat()值,解析数值格式

mm/dd-> 179;

一九○○年四月九日->183;

1900年1月2日->182/181;

2012/10/10->14/176

1900/1/1 0:00 ->184;

一九○○年四月->185;

1900年1月-> 180;

if(HSSFCell.CELL_TYPE_NUMERIC==cell.getCellType()){

int format = cell.getCellStyle().getDataFormat();

if(HSSFDateUtil.isCellDateFormatted(cell)){

日期 不能判断 时间格式带年月日的

}else if(format>176 && format<185){ //日期

带年月日的时间格式

}else{

数字型

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