答案 0 :(得分:1)
选项1
要将DataGridView
导出到文件,作为一个简单的选项,您可以使用GetClipboardContent
方法:
grid.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
grid.SelectAll();
var text = grid.GetClipboardContent().GetText();
然后您只需使用File.WriteAllText
方法将内容保存到文件:
System.IO.File.WriteAllText(filePath, text);
注意的
SelectAll()
导出整个网格。GetText
方法的签名对导出的文本进行更多控制。选项2
您可以使用linq选择所需的单元格值并将其连接起来以创建DataGridView
的文本表示形式:
var lines = new List<string>();
var headers = grid.Columns.Cast<DataGridViewColumn>()
.Where(c => c.Visible).Select(c => c.HeaderText);
lines.Add(string.Join("\t", headers));
var rows = grid.Rows.Cast<DataGridViewRow>()
.Select(r => string.Join("\t", r.Cells.Cast<DataGridViewCell>()
.Where(c => c.Visible).Select(c => c.FormattedValue)));
lines.AddRange(rows);
var text = string.Join(Environment.NewLine, lines);