2

我想验证excel工作表的范围(例如“A10:B20”)以检查它是否有错误或NA值?如何在 C# 中做到这一点?

PS 我找到了类似的主题(Excel 范围使用问题(单元格错误检查)),但那个主题不是我需要的。

4

2 回答 2

1

关键是检查单元格中保存的值的数据类型。如果数据类型是整数 (Int32),则保存的值是 CVErr 值。要检查#N/A,单元格将是一个整数数据类型(不是双精度数!),其值为 -2146826246。

有关更多详细信息,请参阅堆栈溢出问题如何知道单元格是否在 C# 中的公式中有错误

于 2010-03-17T16:34:59.090 回答
0

这可能会对您有所帮助。首先从 excel 中读取数据。请参阅此堆栈溢出问题。将 Excel 范围转换为 ADO.NET 数据集或数据表等。然后迭代数据表中的每一行,如

    foreach (DataRow row in sheetTable.Rows)
    {
        foreach (DataColumn column in sheetTable.Columns)
        {
            // Check what ever you want to check
            if (row[column].ToString().Equals("Error") || row[column] ==null)
            {
                // do something
            }
        }
    }
于 2010-03-17T06:26:21.467 回答