Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将csv内容移动到stringbuilder中的不同列_C#_Asp.net_Asp.net Mvc_Csv - Fatal编程技术网

C# 将csv内容移动到stringbuilder中的不同列

C# 将csv内容移动到stringbuilder中的不同列,c#,asp.net,asp.net-mvc,csv,C#,Asp.net,Asp.net Mvc,Csv,我正在尝试将数据导出到csv。一切正常,但是,我的输出放在一列中。它很好地移动到下一行等等,但我不知道如何将它放到新的列中。此外,我无法预定义列数,因为这取决于数据库。我几乎可以肯定有一件小事我应该改变 StringBuilder csvContent = new StringBuilder(); ClassDeclarationsDBEntities entities6 = new ClassDeclarationsDBEntities(); var subj = entities6.Subj

我正在尝试将数据导出到csv。一切正常,但是,我的输出放在一列中。它很好地移动到下一行等等,但我不知道如何将它放到新的列中。此外,我无法预定义列数,因为这取决于数据库。我几乎可以肯定有一件小事我应该改变

StringBuilder csvContent = new StringBuilder();
ClassDeclarationsDBEntities entities6 = new ClassDeclarationsDBEntities();
var subj = entities6.Subjects.Where(a => a.class_id == model.class_id).FirstOrDefault();
csvContent.AppendLine(subj.name.ToString());
csvContent.Append("Name,Surname");

foreach (var task in current)
{
    csvContent.Append(task.name.Replace(" ",string.Empty)+",");
}

csvContent.AppendLine("Total");

foreach (var user in curr_users)
{
    if (user.user_type.Replace(" ", String.Empty) == 1.ToString())
    {
        csvContent.Append(user.name.Replace(" ", String.Empty) + ",");
        csvContent.Append(user.surname.Replace(" ", String.Empty) + ",");

        foreach (var task in current)
        {
            foreach (var grade in model.grading)
            {    
                if (user.user_id == grade.user_id)
                {
                    if (task.task_id == grade.task_id)
                    {
                        inside = grade.points;
                        i = i + grade.points;}}}  

       csvContent.Append(inside.ToString()+",");
       inside = 0;}
csvContent.AppendLine(i.ToString()+",");}

i = 0;}

byte[] buffer = Encoding.ASCII.GetBytes(csvContent.ToString());   
return File(buffer, "application/CSV", "Report.csv");

所以答案是,我不应该在列末尾使用逗号,而应该使用

这取决于列表分隔符和位置。

Excel使用区域设置列表分隔符。逗号在美国,但在你们国家可能是别的。选中TextInfo.ListSeparator