Are there any CSV readers/writer libraries in C#? [closed]
Solution 1:
Try CsvHelper. It's as easy to use as FastCsvReader and does writing also. I've been very happy with FastCsvReader in the past, but I needed something that does writing also, and wasn't happy with FileHelpers.
Reading:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
Writing:
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
Full Disclosure: I am the author of this library.
Solution 2:
There are a couple of options, right in the framework itself.
One of the easiest is to Reference Microsoft.VisualBasic, then use TextFieldParser. It is a fully functional CSV reader in the core framework.
Another good alternative is to use datasets to read CSV files.
Solution 3:
Sebastien Lorion has a great CSV
reader on CodeProject called A Fast CSV Reader. Probably one of the best for C# and it's free.
As far as writing, just use StreamWriter
.
Here is some boilerplate code for writing a DataGridView
to a file:
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();
}
};
}
}
Solution 4:
Yes - though I assume you're actually asking for specifics?
Try FileHelpers