c# - 对多个 DataGridView 列进行排序并导出为 CSV
问题描述
我正在编写一个 SQL 客户端,您可以在其中将 DataGridView 导出为 CSV(Excel)。问题是我在名为“ID”的单元格中有多个条目,例如 ID 21 有 4 次,但电话号码不同。是否可以在导出到 CSV 之前对它们进行排序,只有 ID 为 21 的行并且电话号码用“,”分隔?
这是我目前的代码:
private void ButtonDataGridInCSVExport(object sender, EventArgs e)
{
if (dataGridViewResult.Rows.Count == 0)
{
return;
}
StringBuilder stringBuilder = new StringBuilder();
string csvheader = "";
for (int i = 0; i < dataGridViewResult.Columns.Count; i++)
{
csvheader += dataGridViewResult.Columns[i].Name + ";";
}
stringBuilder.Append(csvheader + Environment.NewLine);
foreach (DataGridViewRow dataGridViewRow in dataGridViewResult.Rows)
{
if (!dataGridViewRow.IsNewRow)
{
for (int c = 0; c < dataGridViewRow.Cells.Count; c++)
{
stringBuilder.Append(dataGridViewRow.Cells[c].FormattedValue + ";");
}
stringBuilder.Append(Environment.NewLine);
}
}
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "CSV files (*.csv)|*.csv";
if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(saveFileDialog.FileName, false, Encoding.UTF8))
{
sw.WriteLine(stringBuilder.ToString());
MessageBox.Show("CSV file saved.");
}
}
}
有谁知道如何使这成为可能?
这就是现在的样子: 现在的样子
这就是它应该是什么样子: 它应该是什么样子
解决方案
推荐阅读
- excel - 如何根据过滤后的 TABLE 创建数据验证列表?
- java - 将 Spring Boot Jpa 中的三个实体相互连接起来的问题
- r - bookdown 问题 - knitr::include_graphics() - “无法加载图片或 PDF 文件”使用图像 URL
- python - Python中的ATM脚本
- oauth-2.0 - Azure AD ADAL 隐式流说明
- c# - 仅针对有保证的作业过滤“查找所有参考”的快捷方式?
- android - 如何获取 Buildozer 的最新 SDK 版本
- java - Java Long Running Thread 导致内存泄漏?
- assembly - xmm8 寄存器值是否在调用中保留?
- node.js - 如何创建服务于 Vue.js SPA 的 Node.js Express 应用程序?