将特定列从一个DataTable复制到另一个DataTable

leo*_*n22 15 .net c# datatable

在DataTable中读取一些数据(来自excel文件),现在我想过滤它并仅将特定列复制到另一个列中!

dataTable格式:

some data 
ColA|ColB|ColC
xxxx|xxxx|xxxx
some data
Run Code Online (Sandbox Code Playgroud)

some data 表示与ColA-ColC无关的其他表格数据

如何将带有xxxx的ColA-ColC复制到新的DataTable?

谢谢

Ars*_*had 34

您可以使用DataView.ToTable()来完成它:

System.Data.DataView view = new System.Data.DataView(yourOriginalTable);
System.Data.DataTable selected = 
        view.ToTable("Selected", false, "col1", "col2", "col6", "col7", "col3");
Run Code Online (Sandbox Code Playgroud)

  • 这意味着您的“DataTable”中不存在“xxx”列。 (2认同)

Gia*_*los 23

复制整个表并删除不需要的列.

DataTable copyDataTable;
copyDataTable = table.Copy();
copyDataTable.Columns.Remove("ColB");
Run Code Online (Sandbox Code Playgroud)

要么

int columnIndex = 1;//this will remove the second column
DataTable copyDataTable;
copyDataTable = table.Copy();
copyDataTable.Columns.RemoveAt(columnIndex);
Run Code Online (Sandbox Code Playgroud)

  • 我只是通过在执行copy()之后添加".clear()"语句来复制列. (2认同)