0

2 つの Excel ワークシート (を使用) からの入力を 2 つのリストに読み込んでLinq-To-Excelいます。ワークシートの 1 つに不要なデータ列があります (列名はわかっています)。ただし、両方のワークシートの他の列には、まったく同じタイプのデータが含まれています。

私の質問の最初の部分は次のとおりです:
select ステートメントでその unwamted 列のデータのみを除外するにはどうすればよいですか (他の 25 列ほどの列に select.column 名を書き込む必要はありませんか?私は以下の目的でこれを行うつもりです:

  1. 両方のリストを同じタイプにする
  2. 2 つのリストをマージする
  3. 最終的にはさらに多くのワークシートから読み取る必要があるため、このコード ブロックを呼び出しプロシージャに移動する可能性があります。

    ExcelQueryFactory excel = new ExcelQueryFactory(FilePath);
    List<STC> stResults = (from s
                           in excel.Worksheet<STC>("StaticResults")
                           select s)
                           .ToList();
    
    List<DYN> dynResults = (from s
                            in excel.Worksheet<DYN>("DynamicResults")
                            select s)      //how can I EXCLUDE just one of the columns here??
                            .ToList();
    

私はc#とlinqが初めてです。だから私の無知を許してください:-)

私の質問の 2 番目の部分は次
のとおりです。私が抽出している上記のデータは少し太っています (100,000 行から 300,000 行まで変化します)。for ループを使用して、上記のリストに対して (1000 ~ 4000 回の範囲で) linq クエリを繰り返し実行する必要があります。パフォーマンスに大きな負担がかかるため、これを実装するより良い方法はありますか。


EDIT_1:
入力ファイルについて:

  1. StaticResults ファイルには 28 の列があります (STC クラスには 28 のプロパティがあります)
  2. DynamicResults ファイルには 29 列 (静的と同じプロパティ/列名を持つ 28 列と、必須ではない追加のプロパティが 1 つあります) があります (DYN は STC から派生したクラスです)。
4

2 に答える 2