C# 在数据中使用换行符导出到CSV

C# 在数据中使用换行符导出到CSV,c#,C#,数据包含新行字符,因此每次它将新行附加到导出的数据,并且记录增加时,数据也包含分隔的值 我实现的是这个解决方案 StringBuilder sb = new StringBuilder(); for (int k = 0; k < dt.Columns.Count; k++) { //add separator sb.Append(dt.Columns[k].ColumnName + ',');

数据包含新行字符,因此每次它将新行附加到导出的数据,并且记录增加时,数据也包含分隔的值 我实现的是这个解决方案

StringBuilder sb = new StringBuilder();
        for (int k = 0; k < dt.Columns.Count; k++)
        {
            //add separator
            sb.Append(dt.Columns[k].ColumnName + ',');
        }

        //append new line
        sb.Append("\r\n");
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            //string[] fields = dt.Rows[i].ItemArray.Select(field => field.ToString()).
            //                    ToArray();
            //sb.AppendLine(string.Join(",", fields));

            //for (int k = 0; k < dt.Columns.Count; k++)
            //{
                var fields = dt.Rows[i].ItemArray.Select(field => field.ToString().WrapInQuotesIfContains(","));
                sb.AppendLine(string.Join(",", fields));
                //add separator
                //sb.Append(dt.Rows[i][k].ToString() + ';');
            //}
            //append new line
            //sb.Append("\r\n");`enter code here`
        }
你有两个选择:

用换行符或引号中的字符换行和字段,不要忘记将其转换为字符。 从.NET提供的许多优秀的第三方CSV包中选择一个,让它来处理它。
为您提供的关于未来问题的便捷提示:1。实际上要问一个问题,而不是让别人去推断你在问什么,然后投入一点精力:例如,展示你到目前为止做了什么。