C# 如何将某些列的数据从Gridcontrol导出到Excel文件?

C# 如何将某些列的数据从Gridcontrol导出到Excel文件?,c#,excel,wpf,C#,Excel,Wpf,我有一个WPF项目,它使用Gridcontrol。共有6列,我不知道如何将第一、第二、第三列导出到excel文件?我搜索了很多文件,但都没有帮助 如果您正在使用DevExress GridControl,并且需要防止打印或导出某些列,请将属性设置为false。以下是如何从数据表获取信息的示例: var lines = new List<string>(); string[] columnNames = dataTable.Columns.Cast<DataColumn>

我有一个
WPF
项目,它使用
Gridcontrol
。共有6列,我不知道如何将第一、第二、第三列导出到
excel
文件?我搜索了很多文件,但都没有帮助

如果您正在使用DevExress GridControl,并且需要防止打印或导出某些列,请将属性设置为false。

以下是如何从数据表获取信息的示例:

var lines = new List<string>();

string[] columnNames = dataTable.Columns.Cast<DataColumn>().
                              Select(column => column.ColumnName).
                              ToArray();

var header = string.Join(",", columnNames);
lines.Add(header);

var valueLines = dataTable.AsEnumerable()
               .Select(row => string.Join(",", row.ItemArray));            
lines.AddRange(valueLines);

File.WriteAllLines("excel.csv",lines);
var行=新列表();
string[]columnNames=dataTable.Columns.Cast()。
选择(column=>column.ColumnName)。
ToArray();
var header=string.Join(“,”列名称);
行。添加(标题);
var valueLines=dataTable.AsEnumerable()
.Select(row=>string.Join(“,”,row.ItemArray));
行。添加范围(valueLines);
文件.writeAllines(“excel.csv”,行);
代码取自:

因此,基本思想是:迭代数据绑定集合并获取所需信息。完成后,将所有创建的行添加到.csv文件中


这可能是一个解决方案,也可能不是,我不知道您对结果文件格式的限制。

如果您想导出数据列,那么某种类型的itemscontrol可能是一个更好的起点。然后可以有一个绑定的数据集合(而不是一堆控件)进行迭代。处理底层数据并将其绑定到控件或将其模板化到控件中是处理WPF的方法。听起来不错。我正试着遵循你的想法。谢谢,但它没有起作用,因为你说的是
Datagridview
,而我是
Gridcontrol
。它们有一些不同的
属性
。但是我想要两个
导出
组合在这个
Gridcontrol
中。一个是选中的
列,另一个是另一列。