static string Quoted(string v) { return "\"" + v.Replace(@"""", @"""""") + "\"";
}
static void SaveDataTableAsCSV(DataTable t, string csvPath)
{ StringBuilder sb = new StringBuilder();
List<string> l = new List<string>();
foreach (DataColumn c in t.Columns)
l.Add(Quoted(c.ColumnName));
sb.AppendLine(string.Join(",", l.ToArray())); foreach (DataRow r in t.Rows)
{ l.Clear();
for (int i = 0; i < t.Columns.Count; i++)
l.Add(Quoted(r[i].ToString()));
sb.AppendLine(string.Join(",", l.ToArray())); }
File.WriteAllText(csvPath, sb.ToString(), Encoding.UTF8);
}