1

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

我现在想将一些数据导出为 csv 格式。为了在困难的 csv 行为(引用、转义等)上保持一致,我想使用相同的类或类似的类——最好是在标准库中,这样我就可以相信它是兼容的。

我怎样才能做到这一点?


编辑:我要导出的数据是List<List<string>>

4

2 回答 2

1

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

为了写作,我建议使用File Helpers,它也可以用来读取 CSV 文件(所以可以完全替代)。

于 2012-11-27T14:45:20.797 回答
1

在标准 CSV 中转义的字符是 Tab、CR、LF、双引号和逗号:

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

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

它可以很容易地用 Excel 测试或从DataGridView控件中复制。

于 2017-02-07T13:32:20.047 回答