首页 > 解决方案 > 使用 C# 从 excel 单元格中获取 DateTime 值

问题描述

我正在尝试DateTime从上传的 excel 文件中获取价值到数据库。这就是我所拥有的:

 DateTime date = DateTime.Now;
 if(worksheet.Cells[row, 1].Value != null){//if cell is not empty
     date = worksheet.Cells[row, 1].Value.ToString().Trim();//doesn't work b/c not the same type
     //I also tried:
     //date = DateTime.FromOAdDate(worksheet.Cells[row, 1].Value)
 }

上面需要一个类型doubleFromOADate. 我不确定如何将单元格值转换为 type double
任何建议将不胜感激!

标签: c#excel.net-core

解决方案


您需要将字符串解析为Datetime.

date = DateTime.Parse(worksheet.Cells[row, 1].Value.ToString());

您还可以使用 DateTime.TryParse 方法来确保您获得一个值而不是异常。

DateTime.TryParse(worksheet.Cells[row, 1].Value.ToString(), out date)

推荐阅读