Excelワークシート(「A10:B20」など)の範囲を検証して、エラーまたはNA値があるかどうかを確認したいですか?C#でそれを行う方法は?
PS私は同様のトピック(Excel範囲の使用法の質問(セルエラーチェック))を見つけましたが、そのトピックは私が必要とするものではありません。
Excelワークシート(「A10:B20」など)の範囲を検証して、エラーまたはNA値があるかどうかを確認したいですか?C#でそれを行う方法は?
PS私は同様のトピック(Excel範囲の使用法の質問(セルエラーチェック))を見つけましたが、そのトピックは私が必要とするものではありません。
重要なのは、セルに保持されている値のデータ型を確認することです。データ型が整数 (Int32) の場合、保持される値は CVErr 値です。#N/A を確認するには、セルは値 -2146826246 を保持する整数データ型 (Double ではありません!) になります。
詳細については、スタック オーバーフローの質問How to know if a cell has an error in the formula in C# を参照してください。
これは役立つかもしれません。まず、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
}
}
}