Сортировать несколько столбцов DataGridView в одном и экспортировать в CSV - PullRequest
0 голосов
/ 07 мая 2019

Я кодирую SQL-клиент, где вы можете экспортировать DataGridView в CSV (Excel). Проблема в том, что у меня есть несколько записей в ячейке с именем «ID», как ID 4 раза, но с разными номерами телефонов. Можно ли отсортировать их перед экспортом в CSV, если в строке есть только идентификатор 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.");
        }
    }
}

Кто-нибудь знает, как это сделать?

Вот как это выглядит сейчас: Как это выглядит сейчас

Вот как это должно выглядеть: Как это должно выглядеть

...