c# - 从 Excel 获取日期列值
问题描述
我有一个项目给我来解决那里的一些问题。
有一个具有日期列的 Excel 工作表。现在我正在使用以下代码检查日期是否有效。之后try
,我不断收到错误消息
字符串“43941”未被识别为有效的日期时间
我在 StackOverflow 上尝试了一些代码,但没有一个为我解决这个问题。
public ValidationResult IsDateValid(ExcelWorksheet workSheet, int noOfRow)
{
ValidationResult validationResult = new ValidationResult();
validationResult.ErrorColIndex = 3;
validationResult.IsValid = true;
// be on the first column [r,c]
int row = 2;
for (int i = 2; i <= noOfRow; i++) //start from the second row
{
if (!string.IsNullOrEmpty(workSheet.Cells[i, 3].Text))
{
string date = workSheet.Cells[i, 3].Value.ToString();
// will throw exception if the fields in tenor are invalid
try
{
DateTime p = DateTime.ParseExact(date.Trim(), "M/dd/yyyy", null);
}
catch (Exception ex)
{
validationResult.Message = "Invalid Date.";
validationResult.IsValid = false;
validationResult.ErrorRowIndex = row;
break;
}
}
else
{
validationResult.Message = "Empty Date.";
validationResult.IsValid = false;
validationResult.ErrorRowIndex = row;
break;
}
++row;
}
return validationResult;
}
如果有人能指出我做错了什么,我会很高兴
谢谢
解决方案
嗨 techstack excel 使用 OLE 自动化日期。
使用DateTime.FromOADate(Double)
方法
它返回与指定的 OLE 自动化日期等效的 DateTime。
推荐阅读
- sqlite - 离子 Firebase 和 SQLite
- pandas - 熊猫中的 Crossfilter.js group() 行为
- google-chrome - 在 Chrome 中贬低 rel="prerender"
- oop - 在 golang 中将类型定义为引用
- python - 使用 Homebrew 重新安装 Python 3 后无法运行 PyCharm 应用程序
- microsoft-graph-api - Microsoft Graph API 批量编辑 Excel 中的非连续行
- node.js - 无法升级到 Angular cli 版本 7
- c++ - SEH Eceptions - 生成和处理
- python - 我有一个这种格式的字符串:01/01 01:00:00
- python - wxPython。同步选择组合框