如何从datagrid c#winforms中选择特定的文本文件列

时间:2017-03-02 18:47:00

标签: c# .net winforms datagridview

所以我有一个datagridProducts,我可以导出到文本文件,但我不希望datasource的所有列都导出,我不能选择应该去的列textfile,这就是我现在所拥有的

DataGridView

1 个答案:

答案 0 :(得分:0)

要更正当前代码,只需在第二个if循环中添加for语句,然后绕过您不需要的列,例如if(col==1 || col==3) continue;

此处还有另一个选项,使用linq选择所需的列并使用System.IO.File将其保存到文件中:

var columns = new int[] { 0, 2 }; /* desired column indexes*/
var rows = dgv.Rows.Cast<DataGridViewRow>().Where(r => !r.IsNewRow)
    .Select(r => columns.Select(c => string.Format("{0}", r.Cells[c].Value)));
var headers = string.Join(";", columns.Select(i => dgv.Columns[i].HeaderText));
var lines = rows.Select(x => string.Join(";", x)).ToList();
lines.Insert(0, headers);
System.IO.File.WriteAllLines(@"d:\file.txt", lines);