要将C# DataGridView中的多选数据导出,你可以使用以下方法:
System.Data
和System.IO
命名空间。using System.Data;
using System.IO;
private void ExportSelectedRowsToCSV(DataGridView dataGridView, string fileName)
{
// 创建一个StringBuilder对象,用于存储CSV文件内容
StringBuilder csvContent = new StringBuilder();
// 获取DataGridView的列名
string[] columnNames = new string[dataGridView.Columns.Count];
for (int i = 0; i< dataGridView.Columns.Count; i++)
{
columnNames[i] = dataGridView.Columns[i].Name;
}
// 将列名添加到CSV文件内容中
csvContent.AppendLine(string.Join(",", columnNames));
// 遍历DataGridView的选定行
foreach (DataGridViewRow row in dataGridView.SelectedRows)
{
// 获取当前行的单元格值
string[] cellValues = new string[row.Cells.Count];
for (int i = 0; i < row.Cells.Count; i++)
{
cellValues[i] = row.Cells[i].Value?.ToString() ?? "";
}
// 将单元格值添加到CSV文件内容中
csvContent.AppendLine(string.Join(",", cellValues));
}
// 将CSV文件内容写入文件
File.WriteAllText(fileName, csvContent.ToString());
}
private void btnExport_Click(object sender, EventArgs e)
{
// 设置要保存的文件名
string fileName = "exported_data.csv";
// 调用ExportSelectedRowsToCSV方法导出选定行
ExportSelectedRowsToCSV(dataGridView1, fileName);
// 显示成功消息
MessageBox.Show("数据已成功导出到: " + fileName, "导出成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
这样,当用户点击“导出”按钮时,选定的DataGridView行将被导出到CSV文件中。请注意,你可以根据需要修改此方法以支持其他文件格式,例如Excel或PDF。