少于 1 分钟阅读 次阅读

参考链接

Common Format and MIME Type for Comma-Separated Values (CSV) Files

代码

var csvData = new[]
{
    data1,
    data2,
    ...
};

var csvLine = string.Join(",", csvData.Select(EscapeCsvField));

private string EscapeCsvField(string field)
{
    if (string.IsNullOrEmpty(field)) return "";
    if (field.Contains(",") || field.Contains("\"") || field.Contains("\n") || field.Contains("\r"))
    {
        return $"\"{field.Replace("\"", "\"\"")}\"";
    }
    return field;
}

遵循 RFC 4180 CSV 标准规范:

  • 检查字段是否包含特殊字符(如逗号、双引号、换行符)。
  • 如果包含这些特殊字符,需要用双引号将整个字段包裹起来(例如 A,B 处理为 “A,B” )。
  • 如果字段本身内部包含了双引号,需要将其转义为两个连续的双引号(例如 A”B 处理为 “A”“B” )。

标签:

分类:

更新时间:

留下评论