我正在研究一些功能,它需要知道给定 Excel 电子表格的用户列的数据类型。这些电子表格可以有各种格式,除了第一行是列的名称之外没有标准格式。我遇到的问题是能够区分整数和日期时间列。目前,我正在使用以下函数来确定单元格是否为 DateTime 单元格:
private bool isOADate(double Val)
{
try
{
DateTime dt = DateTime.FromOADate(Val);
return true;
}
catch (ArgumentException)
{
return false;
}
}
但是,如果一个单元格中有 1、2、3 等,此函数将返回 true,因为它能够将这些转换为 1899/12/31 12:00:00 AM、1900/01/01 12:00:00 AM、分别为 1900/01/02 12:00:00 AM。有没有更好的方法来确定单元格的 DateTime 数据类型?或者您能否建议对我当前的功能进行改进以区分它们?