读书人

解决POI中DateUtil.isCellDateFormatt

发布时间: 2012-09-12 09:21:30 作者: rapoo

解决POI中DateUtil.isCellDateFormatted(Cell cell)不能判断中文日期的问题

根据客户提供的Excel,在导入日期数据时,发现获得的值是一串数字。客户设置的日期格式为yyyyy年MM月,当把日期格式设置为yyyy-MM时,就能够正确读取。我们用得是POI3.6,方法:org.apache.poi.ss.usermodel.DateUtil.isCellDateFormatted(Cell cell)。调用时总是返回false,经跟踪源码发现只要含有中文时间单位就不行(例如含有“年”或“月”等时间单位),故修改,增加了对中文时间单位的过滤,经测试判断正确。方法:DateUtil.isADateFormat(int formatIndex, String formatString)增加代码内容:fs = fs.replaceAll("[\"|\']","").replaceAll("[年|月|日|时|分|秒|毫秒|微秒]", "");附件为修改之后的源码!

读书人网 >编程

热点推荐