17

DataTable で (Excel ファイルから) データを読み込んで、これをフィルター処理して、特定の列のみを他の列にコピーしたい!

データテーブル形式:

some data 
ColA|ColB|ColC
xxxx|xxxx|xxxx
some data

some dataColA-ColC に関連しない他のテーブル データを表します

xxxx を含む ColA-ColC を新しい DataTable にコピーするにはどうすればよいですか?

どうも

4

7 に答える 7

2

対象列のみを使用してコピー DataTable を定義します。次のサンプル コードを使用して、ソース行の列をループし、値をターゲット行に設定できます。

public void IntegrateRow(DataRow p_RowCible, DataRow p_RowSource)
        {
            try
            {
                foreach (DataColumn v_Column in p_RowCible.Table.Columns)
                {
                    string ColumnName = v_Column.ColumnName;
                    if (p_RowSource.Table.Columns.Contains(ColumnName))
                    {
                        p_RowCible[ColumnName] = p_RowSource[ColumnName];
                    }
                }
            }
            catch (Exception e)
            {
...
于 2013-08-23T12:21:15.413 に答える
1

LINQを使用して実現できます

が 2 つあるとしDataTableます。1.dtSourceと 2. dtDestination.

行がない場合dtDestinationは、以下のコードを使用して空白行を生成します。

dtSource.AsEnumerable().All(row => { dtDestination.Rows.Add(); return true; });

以下のコードは、特定のDataColumnデータをDataColumn別のにコピーしますDataTable。両方のテーブルの行数が同じであると仮定します。

int rowIdx = 0;
dtDestination.AsEnumerable().All(row => { row["colName"] = dtSource.Rows[rowIdx++]["colName"]; return true; });
于 2018-09-04T07:28:00.370 に答える