Я хочу удалить последнюю (пустую) строку объекта StringBuilder
РЕДАКТИРОВАТЬ: пустая строка из "AllowUserToAddRows", как я могу пропустить это?
- c # Заявление на получение формы
- dataGridView1 в форме 2
- Я хочу экспортировать в CSV (через точку с запятой) [кстати. это всего лишь один столбец]
- Может случиться, что ранее созданный CSV снова будет проанализирован в dataGridView
Я использую измененное решение отсюда:
Экспорт таблицы данных в CSV-файл
мой код
void SaveDataGridViewToCSV(string filename)
{
var sb = new StringBuilder();
var headers = dataGridView1.Columns.Cast<DataGridViewColumn>();
sb.AppendLine(string.Join(";", headers.Select(column => "" + column.HeaderText + ";").ToArray()));
foreach (DataGridViewRow row in dataGridView1.Rows)
{
var cells = row.Cells.Cast<DataGridViewCell>();
sb.AppendLine(string.Join(";", cells.Select(cell => "" + cell.Value + ";").ToArray()));
}
try
{
File.WriteAllText(filename, sb.ToString());
}
catch (Exception exceptionObject)
{
MessageBox.Show(exceptionObject.ToString());
}
}
sb.ToString выглядит следующим образом {Coumn;90;90;626;626;;}
«Настоящий» объект StringBuilder в виде строки: {Coumn;\r\n90;\r\n90;\r\n626;\r\n626;\r\n;}
Я хочу удалить пустую последнюю строку.
Я попытался разобрать string Builder в строку, а затем удалить последнюю точку с запятой
но безуспешно (у меня проблема с концом строки.)
string s = sb.ToString();
while (s.EndsWith(";\r\n;") == true)
{
s.Substring(0, s.Length - 5);
}
Я пытался удалить последний элемент массива, но StingBuilder не массив
Я застрял.