Відповіді:
Спробуйте CsvHelper . Це настільки ж просто у використанні, як FastCsvReader, а також пише також. У минулому я був дуже задоволений FastCsvReader, але мені потрібно було щось, що також пише, і не був задоволений FileHelpers.
Читання:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
Написання:
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
Повне розкриття: Я автор цієї бібліотеки.
WriteField
. Перевірте тут документи joshclose.github.io/CsvHelper
CsvHelper
. Можливо, це може запропонувати якісь альтернативні стратегії читання на цьому місці? До речі, своє первісне зауваження я видалив, оскільки це зараз не має значення :-)
Існує пара варіантів, прямо в самих рамках.
Одним з найпростіших є посилання на Microsoft.VisualBasic, а потім використовувати TextFieldParser . Це повністю функціональний зчитувач CSV в основних рамках.
Ще однією хорошою альтернативою є використання наборів даних для читання файлів CSV .
У Себастьєна Лоріона є чудовий CSV
читач CodeProject під назвою Fast CSV Reader . Напевно, один із найкращих для 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();
}
};
}
}
Так - хоча я припускаю, що ви насправді просите конкретні дані?
Спробуйте FileHelpers
Є десятки.
http://www.filehelpers.net/ - одна з найпоширеніших.
Я мушу сказати, що я вважаю Filehelpers обмежувальним у деяких сценаріях, а натомість використовую програму Fast CSV Reader . На мій досвід, якщо ви не знаєте формату свого CSV-файлу або імпортуєте відображення до часу виконання - це краща бібліотека для використання.
.net csv library
. На мою думку, хоч і невідомі, що це питання було розглянуто більше 22000 разів за останні шість років.