Есть ли в C# какие-либо библиотеки читателей/устройства записи CSV? [закрытый]

103
задан Peter Mortensen 20 March 2011 в 18:39
поделиться

5 ответов

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

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

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

19
ответ дан 24 November 2019 в 04:21
поделиться

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

Для написания просто используйте 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();
            }
        };
    }
}
16
ответ дан 24 November 2019 в 04:21
поделиться

Их десятки.

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

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

3
ответ дан 24 November 2019 в 04:21
поделиться

Да, хотя я предполагаю, что вы действительно спрашиваете подробности?

Попробуйте FileHelpers

8
ответ дан 24 November 2019 в 04:21
поделиться

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

Чтение:

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

Написание:

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

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

96
ответ дан 24 November 2019 в 04:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: