Есть ли библиотеки чтения/записи CSV в С#?
Существуют ли в С# библиотеки чтения/записи CSV?
Ответ 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 или импортируете сопоставление до времени выполнения - это лучшая библиотека для использования.