可能重复:
处理 CSV 文件中的逗号
我们正在为我们的一个项目将批量数据导出到 csv 文件中。所以在这种情况下,我们必须导出像 a,b,c,d 这样的值,它们都必须保留在一列中。但是逗号会将它们分隔到不同的列。
就像我们导出一些在 textarea 或编辑器中输入的包含 \r\n 之类的字符的值将在 csv 中导出为单独的行。我怎么解决这个问题??
可能重复:
处理 CSV 文件中的逗号
我们正在为我们的一个项目将批量数据导出到 csv 文件中。所以在这种情况下,我们必须导出像 a,b,c,d 这样的值,它们都必须保留在一列中。但是逗号会将它们分隔到不同的列。
就像我们导出一些在 textarea 或编辑器中输入的包含 \r\n 之类的字符的值将在 csv 中导出为单独的行。我怎么解决这个问题??
// CSV rules: http://en.wikipedia.org/wiki/Comma-separated_values#Basic_rules
// From the rules:
// 1. if the data has quote, escape the quote in the data
// 2. if the data contains the delimiter (in our case ','), double-quote it
// 3. if the data contains the new-line, double-quote it.
if (data.Contains("\""))
{
data = data.Replace("\"", "\"\"");
data = String.Format("\"{0}\"", data);
}
else if (data.Contains(",") || data.Contains(System.Environment.NewLine))
{
data = String.Format("\"{0}\"", data);
}
数据可以是 db 中的单个项目或类型的属性值。
处理此问题的最常见方法是在字段周围使用“”,但取决于谁在使用您的文件,可以通过多种方式进行处理。您可以分隔逗号,可以将逗号更改为特殊值或使用不同的分隔符,但大多数命令