关于 npoi 的 DateUtil.IsCellDateFormatted(cell) 为true,取cell.DateCellValue却报异常的问题
NPOI中数字和日期都是NUMERIC类型的,这里对其进行判断是否是日期类型
所以 当 DateUtil.IsCellDateFormatted 为 true 时,理论是应该可以取到 cell.DateCellValue
但实际上,cell.DateCellValue 可能会报异常,而取 cell.NumericCellValue 却是正常的,
HSSFWorkbook 是excel2007以前,主要是2003的版本 即 xls, 主要是最大行数只支持到 65535 好
XSSFWorkbook 是excel2007以后的版本,即 xlsx ,支持的行数是 xls 的16倍左右
我的测试,不管是xls,或xlsx,它们对日期格式的解析,还是有问题的
即
当我 DateUtil.IsCellDateFormatted(cell) 为 true 后,去取 cell.DateCellValue 时,它会报 空异常
“DateUtil.GetJavaDate(cell.NumericCellValue)”引发了类型“System.NullReferenceException”的异常
(经常是在第一次调用后,的第二次调用时,) (测试 在 netframework 452 web 环境 )
经测试 是npoi 使用的 2.5.1 为弃用版本,更新到 2.5.6 即可