用 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。