我使用Microsoft.VisualBasic.FileIO.TextFieldParser来解析csv文件。
我现在知道要将一些数据导出为csv格式。为了保持困难的csv行为(引用,转义等)的一致性,我想使用相同的类或类似的类 - 最好是在标准库中,这样我才能相信它是兼容的。
我该怎么做?
修改:我要导出的数据是List<List<string>>
答案 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
控件进行复制。