如何编写与Microsoft.VisualBasic.FileIO.TextFieldParser兼容的csv格式?

时间:2012-11-27 14:42:45

标签: c# .net

我使用Microsoft.VisualBasic.FileIO.TextFieldParser来解析csv文件。

我现在知道要将一些数据导出为csv格式。为了保持困难的csv行为(引用,转义等)的一致性,我想使用相同的类或类似的类 - 最好是在标准库中,这样我才能相信它是兼容的。

我该怎么做?


修改:我要导出的数据是List<List<string>>

2 个答案:

答案 0 :(得分:2)

TextFieldParser只能用于读取结构化文本文件,例如CSV文件。

为了写作,我建议使用File Helpers,它也可用于读取CSV文件(因此可以完全替换)。

答案 1 :(得分:1)

标准CSV中转义的字符有Tab,CR,LF,双引号和逗号:

char[] chars = { '\t', '\r', '\n', '\"', ',' };

if (stringField.IndexOfAny(chars) >= 0)  
{
    stringField = '\"' + stringField.Replace("\"", "\"\"") + '\"'; // replace " with "" 
}

可以使用Excel轻松测试或从DataGridView控件进行复制。