Ich versuche, Daten in eine CSV zu exportieren. Alles funktioniert gut, aber meine Ausgabe ist in einer Spalte. Es bewegt sich nett zu den nächsten Zeilen und so weiter, aber ich habe keine Ahnung, wie ich es in neue Spalten einfügen soll. Außerdem kann ich die Anzahl der Spalten nicht vordefinieren, da dies von der Datenbank abhängt. Ich bin mir fast sicher, dass es ein kleines Ding gibt, das ich ändern sollte.Inhalt von CSV in andere Spalte in stringbuilder verschieben
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 verwendet Gebietsschema-Listentrennzeichen. Komma in den USA, aber es könnte etwas anderes in deinem Land sein. Überprüfen Sie TextInfo.ListSeparator –