【发布时间】:2017-06-03 11:46:01
【问题描述】:
我正在尝试将数据导出到 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
标签: c# asp.net asp.net-mvc csv