Чтобы «скопировать что-то, чего нет», вам нужно использовать базовый объект данных, который является DataGrid
'ItemsSource
.
Если ваш DataGrid
's ItemsSource
- это DataTable
, этот метод, аналогичный методу MosesTheHoly, вернет строку CSV, но более простым способом.
public string GetCSVFromDataTabe(DataTable datatable)
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append(string.Join(",", dt.Columns.ToList<DataColumn>().Select(column => column.ColumnName).ToList()) + "\n");
dataTable.Rows.ToList<DataRow>().ForEach(row => sb.Append(string.Join(",", row.ItemArray) + "\n"));
return stringBuilder.ToString();
}
Это должно сделать это.Довольно лаконично, на мой взгляд.Теперь просто запишите это string
в любой файл, который вам нужен.