温馨提示×

C# DataGridView多选数据怎么导出

c#
小樊
85
2024-09-16 09:33:18
栏目: 编程语言

要将C# DataGridView中的多选数据导出,你可以使用以下方法:

  1. 首先,确保你已经添加了所需的引用和命名空间。在这个例子中,我们将使用System.DataSystem.IO命名空间。
using System.Data;
using System.IO;
  1. 创建一个方法来导出DataGridView的选定行到CSV文件。
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());
}
  1. 在你的应用程序中调用此方法,例如在按钮点击事件中。
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。

0