NPOI读取Excel日期类型单元格返回一串数字问题(2020-08-15 变成 12-5月-2020了)

用 NPOI 导入 Excel 时,如果不对单元格的类型进行判断,当读取日期型单元格式将返回一串数字

ICell cell = row.GetCell(j);
//Cell为非NUMERIC时,调用IsCellDateFormatted方法会报错,所以先要进行类型判断
if (cell.CellType == CellType.NUMERIC && DateUtil.IsCellDateFormatted(cell))
    dataRow[j] = cell.DateCellValue.ToString("yyyy/MM/dd");
else {
    dataRow[j] = row.GetCell(j).ToString();
}

通过DateUtil.IsCellDateFormatted方法可以判断单元格是否为日期格式,是日期格式则可以通过 cell.DateCellValue 获取单元格的日期值。然后可以方便地将其转换为想要的字符串格式。另外 DateUtil.IsCellDateFormatted 方法的参数如果是非 NUMERIC 会报错,所以调用前要确保CellType是否为 NUMERIC。

posted @ 2021-01-28 08:57  南秦岭  阅读(691)  评论(0编辑  收藏  举报