我正在开发一些功能,需要知道给定 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 数据类型?或者您可以建议改进我当前的功能以区分它们吗?
最佳答案
VBA 函数 Isdate()
还检查单元格格式:27/01/2012
给出 True
,它的整数等效结果 40935
是 False
。
关于c# - Excel判断单元格的数据类型是DateTime还是Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119733/