Хранение записей в CSV-файле из Datatable - PullRequest
1 голос
/ 01 мая 2010

У меня есть данные, и я отображаю эти значения в таблице данных с помощью кода:

   dataGridView1.ColumnCount = TableWithOnlyFixedColumns.Columns.Count;
   dataGridView1.RowCount = TableWithOnlyFixedColumns.Rows.Count;
   for (int i = 0; i < dataGridView1.RowCount; i++)
   {
       for (int j = 0; j < dataGridView1.ColumnCount; j++)
       {
           dataGridView1[j, i].Value = TableWithOnlyFixedColumns.Rows[i][j].ToString();
       }
   }
   TableExtractedFromFile.Clear();
   TableWithOnlyFixedColumns.Clear();

Теперь я хочу сохранить записи в datatable в файле csv. Как мне это сделать?

1 Ответ

1 голос
/ 01 мая 2010

Вы можете сделать это:

// we'll use these to check for rows with nulls
var columns = yourTable.Columns
    .Cast<DataColumn>();

// say the column you want to sort by is called "Date"
var rows = yourTable.Select("", "Date ASC"); // or "Date DESC"

using (var writer = new StreamWriter(yourPath)) {
    for (int i = 0; i < rows.Length; i++) {
        DataRow row = rows[i];

        // check for any null cells
        if (columns.Any(column => row.IsNull(column)))
            continue;

        string[] textCells = row.ItemArray
            .Select(cell => cell.ToString()) // may need to pick a text qualifier here
            .ToArray();

        // check for non-null but EMPTY cells
        if (textCells.Any(text => string.IsNullOrEmpty(text)))
            continue;

        writer.WriteLine(string.Join(",", textCells));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...