用POI上传EXCEL表格 日期解析问题
来源:互联网 发布:七龙珠人物战斗力数据 编辑:程序博客网 时间:2024/05/16 01:33
说一下我遇到的三种情况下日期的解析问题
1.日期在EXCEL中的格式是文本
这是最简单的 和其他文本列获取方式一样 即:
String cell5Value = cell3.getStringCellValue().trim();//获取文本并去空格 或者
String cell5Value = cell5.toString().trim();
然后可以转换到需要的格式
try { detectionDate = sdf.parse(cell5Value); } catch (ParseException e) { try { sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); detectionDate = sdf.parse(cell5Value); } catch (ParseException e1) { try { sdf = new SimpleDateFormat("yyyy-MM-dd"); detectionDate = sdf.parse(cell5Value); } catch (ParseException e2) { try { sdf = new SimpleDateFormat("yyyy/MM/dd"); detectionDate = sdf.parse(cell5Value); } catch (ParseException e3) { try { sdf = new SimpleDateFormat("yyyyMMdd"); detectionDate = sdf.parse(cell5Value); } catch (ParseException e4) { LOGGER.info("上传的检测日期解析错误,日期:" + cell5Value); continue; } } } } }2 日期列在EXCEL中就是日期格式的,为了程序的健壮性我测试了一些常见的日期格式
日期格式的列如果直接使用
cell.getStringCellValue();取会报错:
java.lang.IllegalStateException: Cannot get a text value from a numeric cell
使用 cell5.toString().trim();取值虽然不会报错,但是月份会变成大写,显然不是我想要的结果,这个时候使用下面代码解决:
if (cell5 != null) { if(cell5.getCellType() == Cell.CELL_TYPE_NUMERIC){ //如果此列的类型是数值型 (数值型包括日期型和数字型) boolean b = DateUtil.isCellDateFormatted(cell5); //DateUtil是POI自带的工具类,这句是判断此列是否是日期类型 if(b){ detectionDate = cell5.getDateCellValue();//获取日期 }else{ //else是第三种情况说得 double value = cell5.getNumericCellValue(); detectionDate = DateUtil.getJavaDate(value); } }3.图2中红色字体标注的日期 是数值型列 但是程序会自动给转换成一个double型的数值型 这个数值表示的是此日期距离元日期的天数,知道这个数值表示的是什么就很简单了,下面直接上代码
double value = cell5.getNumericCellValue();//取数值型列特有的方法 detectionDate = DateUtil.getJavaDate(value);//使用工具类可以直接转换成日期
阅读全文
0 0
- 用POI上传EXCEL表格 日期解析问题
- POI解析excel表格
- POI解析excel日期
- POI:上传EXCEL解析
- 使用poi解析excel表格
- POI 解析Excel表格实例
- Poi解析对比excel表格
- poi解析excel读取日期为数字的问题
- POI解析excel表格导入数据库
- POI解析excel表格数据例子
- java通过POI解析Excel表格内容
- poi上传excel中数字和日期解析不了的问题解决办法
- poi解析Excel,格式化日期类型
- poi读取高版本Excel表格的日期处理方式
- poi读取Excel时日期为数字 的解决方法 转载 2017年12月14日 10:31:14 标签:poi /excel /java 19 在使用poi解析Excel文件时,会发现,表格中的日期解析出
- JavaWeb一个完整的Servlet上传Excel表格使用poi解析至数据库实现(兼容2003,2007)。
- 用POI解析EXCEL文件
- 用POI HSSF处理EXCEL表格
- python读取配置文件信息问题
- 1024程序员节
- List集合的去重
- 在DOS界面操作一个java的Demo
- Git教程之一个团队如何在github上协作开发
- 用POI上传EXCEL表格 日期解析问题
- 【Spring学习笔记四】使用Spring整合jdbc
- 多尺度人脸检测--Face Detection through Scale-Friendly Deep Convolutional Networks
- dubbo --- 一个远程服务调用的分布式框架
- Linux下C语言实现CopyFile
- 鸟哥私房菜 第十七章 程序管理与SELinux初探
- MyCat学习(一):MyCat中基本概念和功能
- 详细分析intern(),jdk1.7以上版本
- 习题1