NPOI 读Excel 日期格式

转自:https://www.cnblogs.com/craigtao/p/6322172.html

 

如果直接使用下面的方式读取的时间格式,是一串数字

string unit = cell.ToString();

比如excel中的时间是 2017/1/20 10:20:21

上面的方式读取出来后是这样的格式: 1/20/17 10:20:21

 

突然想到,是不是可以判断是什么类型呢? 

糟糕,NPOI还没有提供判断是不是日期类型的,单步调试,发现日期类型也是 Numeric 的,

好在可以使用.net 自身提供的 DateUtil.IsCellDateFormatted 方法可以判断读取的单元值是否为日期类型

看代码:

复制代码
ICell cell = row.GetCell(i_cell);

if (cell.CellType == CellType.Numeric && DateUtil.IsCellDateFormatted(cell))
{
       unit = cell.DateCellValue.ToString();
}
else { unit = cell.ToString(); }
复制代码

 

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

转载于:https://www.cnblogs.com/juneyss/p/9548931.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值