C# 将我的asp.net MVC模型数据导出到Excel工作表中

C# 将我的asp.net MVC模型数据导出到Excel工作表中,c#,asp.net,asp.net-mvc,export-to-excel,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Export To Excel,Asp.net Mvc 5,我的asp.net mvc web应用程序中有以下5个模型:- public partial class Anwer { public Anwer() { this.UserFormsAnswers = new HashSet<UserFormsAnswer>(); } public int Id { get; set; } public string AnwerDes

我的asp.net mvc web应用程序中有以下5个模型:-

 public partial class Anwer
    {
        public Anwer()
        {
            this.UserFormsAnswers = new HashSet<UserFormsAnswer>();
        }

        public int Id { get; set; }
        public string AnwerDesc { get; set; }
        public int QuestionID { get; set; }
        public bool Correct { get; set; }

        public virtual Question Question { get; set; }
        public virtual ICollection<UserFormsAnswer> UserFormsAnswers { get; set; }
    }
 public partial class Question
    {
        public Question()
        {
            this.Anwers = new HashSet<Anwer>();
        }

        public int Id { get; set; }
        public string QuestionDesc { get; set; }
        public int Order { get; set; }
        public bool Active { get; set; }

        public virtual ICollection<Anwer> Anwers { get; set; }
    }
 public partial class UserFormsAnswer
    {
        public int Id { get; set; }
        public int AnswerID { get; set; }
        public int FormID { get; set; }

        public virtual Anwer Anwer { get; set; }
        public virtual UsersForm UsersForm { get; set; }
    }
   public partial class UsersForm
    {
        public UsersForm()
        {
            this.UserFormsAnswers = new HashSet<UserFormsAnswer>();
        }

        public int Id { get; set; }
        public string UserID { get; set; }
        public string UserName { get; set; }
        public System.DateTimeOffset DateSubmitted { get; set; }

        public virtual AspNetUser AspNetUser { get; set; }
        public virtual ICollection<UserFormsAnswer> UserFormsAnswers { get; set; }
    }

 public partial class AspNetUser
    {
        public AspNetUser()
        {
            this.UsersForms = new HashSet<UsersForm>();
        }

        public string Id { get; set; }

        public string UserName { get; set; }

        public virtual ICollection<UsersForm> UsersForms { get; set; }
    }

那么,有人能告诉我如何按照上面所示对数据进行分组,然后将数据导出到excel表格中,供用户下载和阅读吗?

您需要多少问题才能显示结果?动态地为用户生成viewmodel是一种很难(而且可能效率很低)的方法,因此您需要在viewmodel中定义用户集合及其问题结果并从中导出数据。@TetsuyaYamamoto我没有特定数量的问题。。他们可以是20或30或更少…我有大约60个用户。。但对我来说,这种做法是可以接受的。。但是,我在理解如何对数据进行分组并相应地生成excel时遇到了一些问题。通过这种设置,您可能希望定义集合可以处理的预期固定最大问题数。理论上,您可以根据可用问题的数量将集合导出到Excel文件(这些问题列的结果不完全为空)。
user name | Question1 ID | Question2 ID | Question3 ID | ....
UserA     | True         | False        | True         |.....
UserB     | True         | True         | True         |.....