要將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。