I have a requirement to export a dataset as a CSV file.
I have spent a while searching for a set of rules to go by and realised there are quite a few rules and exce
CsvHelper (a library I maintain) also available via NuGet.
CsvHelper can automatically write your class objects to a file for you.
var myObj = new MyCustomClass
{
Prop1 = "one",
Prop2 = 2
};
var streamWriter = // Create a writer to somewhere...
var csvWriter = new CsvWriter( streamWriter );
// You can write a single record.
csvWriter.WriteRecord( myObj );
// You can also write a collection of records.
var myRecords = new List{ myObj };
csvWriter.WriteRecords( myRecords );