使用C#在CSV文件中写入

我正在寻找一种在CSV文件的不同单元格中编写字符串的方法。

我正在使用这个程序,

private void button1_Click(object sender, EventArgs e) { string filePath = @"E:\test.csv"; string a = "a"; string b = "c"; string c = "d"; string d = "d"; File.WriteAllText(filePath, a); // how can add the other strings in the next cells ? } 

我需要的是在第一个单元格中写入“a”,在第二个单元格中写入“b”,c ..

CSV绝对不是一种简单的文件格式,它是一种足够复杂的格式,无论形状或大小如何,都能够包含几乎任何类型的数据。

CSV格式能够处理可选参数与非可选数据,有或没有换行符,并且应该能够在任何字段中使用或不使用字段转义字符而不使用换行符,并且需要在字段中使用字段转义字符换行。

您不应该手动使用CSV文件,应该使用FileHelpers来处理CSV文件。

此时我不再使用FileHelpers作为我的goto CSV解析库,而是使用Josh Close的CsvHelper 。

CSV是一种非常简单的文件格式,特别是如果您不需要任何单元格来包含嵌套逗号。 CSV表示以逗号分隔的值 ,因此您只需要在每个单元格之间构造一个带逗号的字符串。 这将有效,虽然它只适用于一行:

 File.WriteAllText(filePath, String.Join(",", a, b, c, d)); 

如果只有4个值,而且只有一行? (我假设情况并非如此?)

 string csv = string.Format("{0},{1},{2},{3}\n", a,b,c,d); File.WriteAllText(filePath, csv); 

如果数据基于某种集合,请提供更多信息。