Существуют ли в С# библиотеки чтения/записи CSV? - программирование

Существуют ли в С# библиотеки чтения/записи CSV?

Есть ли библиотеки чтения/записи CSV в С#?

4b9b3361

Ответ 1

Попробуйте CsvHelper. Он так же прост в использовании, как и FastCsvReader, и пишет также. Я был очень доволен FastCsvReader в прошлом, но мне также нужно было что-то, что тоже писало, и не понравилось FileHelpers.

Чтение:

var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();

Запись

var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );

Полное раскрытие информации: я являюсь автором этой библиотеки.

Ответ 2

Есть несколько вариантов, прямо в самой структуре.

Одним из самых простых является ссылка Microsoft.VisualBasic, затем используйте TextFieldParser. Это полнофункциональный CSV-ридер в основной структуре.

Другой хорошей альтернативой является использовать наборы данных для чтения файлов CSV.

Ответ 3

У Себастьяна Лориона есть отличный читатель CSV в CodeProject под названием Fast CSV Reader. Вероятно, одно из лучших для С# и бесплатное.

Что касается написания, просто используйте StreamWriter.

Вот какой шаблонный код для записи DataGridView в файл:

private void exportDGVToCSV(string filename)
{
    if (dataGridView1.Columns.Count != 0) 
    {    
        using (Stream stream = File.OpenWrite(filename))
        {
            stream.SetLength(0);
            using (StreamWriter writer = new StreamWriter(stream))
            {
                // loop through each row of our DataGridView
                foreach (DataGridViewRow row in dataGridView1.Rows) 
                {
                    string line = string.Join(",", row.Cells.Select(x => $"{x}"));
                    writer.WriteLine(line);
                }

                writer.Flush();
            }
        };
    }
}

Ответ 4

Да - хотя я предполагаю, что вы действительно просите о специфике?

Попробуйте FileHelpers

Ответ 5

Есть десятки.

http://www.filehelpers.net/ является одним из самых распространенных.

Я должен сказать, что в некоторых сценариях я нашел Filehelpers ограничительным, и вместо этого используйте The Fast CSV Reader. По моему опыту, если вы не знаете формат файла CSV или импортируете сопоставление до времени выполнения - это лучшая библиотека для использования.