Appending to an Existing CSV File
Example
void Main()
{
var records = new List<Foo>
{
new Foo { Id = 1, Name = "one" },
};
// Write to a file.
using (var writer = new StreamWriter("path\\to\\file.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
csv.WriteRecords(records);
}
records = new List<Foo>
{
new Foo { Id = 2, Name = "two" },
};
// Append to the file.
var config = new CsvConfiguration(CultureInfo.InvariantCulture)
{
// Don't write the header again.
HasHeaderRecord = false,
};
using (var stream = File.Open("path\\to\\file.csv", FileMode.Append))
using (var writer = new StreamWriter(stream))
using (var csv = new CsvWriter(writer, config))
{
csv.WriteRecords(records);
}
}
public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
}
Output
Id,Name
1,one
2,two