2

Excelワークシート(「A10:B20」など)の範囲を検証して、エラーまたはNA値があるかどうかを確認したいですか?C#でそれを行う方法は?

PS私は同様のトピック(Excel範囲の使用法の質問(セルエラーチェック))を見つけましたが、そのトピックは私が必要とするものではありません。

4

2 に答える 2

1

重要なのは、セルに保持されている値のデータ型を確認することです。データ型が整数 (Int32) の場合、保持される値は CVErr 値です。#N/A を確認するには、セルは値 -2146826246 を保持する整数データ型 (Double ではありません!) になります。

詳細については、スタック オーバーフローの質問How to know if a cell has an error in the formula in C# を参照してください。

于 2010-03-17T16:34:59.090 に答える
0

これは役立つかもしれません。まず、Excel からデータを読み取ります。このスタック オーバー フローの質問を参照してください。Excel 範囲を ADO.NET DataSet または DataTable などに変換します。次に、データテーブルの各行を次のように繰り返します

    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 に答える