使用C#在CSV文件中写入

时间:2011-05-05 18:17:15

标签: c# .net string file 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 ..

3 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:3)

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

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

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

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

答案 2 :(得分:0)

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

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

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