不支持日期读取,不支持数字和日期格式输出
Opened this issue · 0 comments
AlexZhuo commented
当“单元格格式”为“日期”或者“自定义”里面的日期格式时,对于2016年的某一天,使用String类型接收会接收成“42373.700787037“
这种格式字符串,若使用java.util.Date接收则会报异常:
com.github.exceptions.TimeMatchFormatException: [42373.700787037] can not matching right time format
at com.github.utils.DateUtils.str2Date(DateUtils.java:165)
at com.github.utils.DateUtils.str2DateUnmatch2Null(DateUtils.java:187)
at com.github.utils.Utils.str2TargetClass(Utils.java:146)
at com.github.ExcelUtils.readExcel2ObjectsHandler(ExcelUtils.java:97)
at com.github.ExcelUtils.readExcel2Objects(ExcelUtils.java:47)
at com.github.ExcelUtils.readExcel2Objects(ExcelUtils.java:63)
at base.Test.readExcel(Test.java:49)
at base.Test$1.run(Test.java:29)
同样,当输出java.util.Date格式时,会输出成“Mon Jul 24 15:32:29 CST 2017”
这种字符串格式,无法在Excel中转换成正常的日期格式
除了Date会被转换成字符串输出意外,所有的数字也会以字符串输出,最可怕的是对于java.lang.Float的100000000.00
会直接输出成字符串“1.0E8”
,并且通过Office所有版本Excel均无法通过设置单元格格式转换成数字格式。同理int,long,double等转换为字符串之后无法在Excel进行求和等数字运算