クラス TmpClass があるとしましょう。このクラスを使用して、LinqToExcel ExcelQueryFactory を使用して Excel シートからデータを返します。このクラスでは、データの正確性をチェックするロジックを実装する必要があります。ExcelQueryFactory を使用して Excel シートからデータを取得すると、ExcelQueryable (IQueryalbe から派生したもの) が返されます
Excel シート データ マッピングのクラス
public class TmpClass
{
private string _name;
public string Name
{
set {
if (string.IsNullOrWhiteSpace(value))
{
throw new ArgumentException("Value can not be null/whitespace!");
}
_name = value;
}
}
}
LinqToExcel ExcelQueryFactory を使用して Excel シートからデータを取得する
..initialize ExcelQueryFactory instance, get column names, set column mapping
//retrieve data
var dataFromExcel = excel.Worksheet<TmpClass>(...worksheet name).ToList();
Excel シートの行を読み取ると、一部の TmpClass.Name セッター関数で ArgumentException がスローされます。Excel シートのすべての行を処理する方法が必要です。
- ArgumentException があった行 (ロギング) に対していくつかのアクションを実行します
- 有効なデータを含む行に対して他の操作を行います。
無効なアイテムのコレクションを取得できますか (おそらく例外情報を含む)? 有効なアイテムのコレクションを取得できますか?