首页 > 解决方案 > 我正在使用 ClosedXML 库在我的 asp.net 核心 mvc 项目中导出 excel。我想按升序对名称列进行排序。如果有人对此有任何想法

问题描述

我正在使用 ClosedXML 库将数据从我的 ASP.NET Core MVC 项目导出到 Excel。我想name按升序对列进行排序。如果有人对此有任何想法,请告诉我。

链接到 ClosedXML 库

我的代码:

public dynamic Export()
{
    try
    {
        DataTable dt = new DataTable("Grid");
        dt.Columns.AddRange(new DataColumn[5] {
             new DataColumn("Name"),
             new DataColumn("Skills"),
             new DataColumn("TotalStudents"),
             new DataColumn("Salary"),
             new DataColumn("AddedOn")
        });

        var teachers = from Teacher in this.schoolContext.Teacher.Take(200)
                       select Teacher;

        foreach (var teacher in teachers)
        {
            dt.Rows.Add(teacher.Name, teacher.Skills, 
                        teacher.TotalStudents, teacher.Salary, teacher.AddedOn);
        }
            
        using (XLWorkbook wb = new XLWorkbook())
        {
            wb.Worksheets.Add(dt);

            using (MemoryStream stream = new MemoryStream())
            {
                wb.SaveAs(stream);
                return (stream.ToArray()) ;
            }
        }
    }
    catch (Exception e)
    {
        throw e.InnerException;
    }
}

标签: c#asp.net-core-mvcclosedxml

解决方案


I think it will work if you change your query syntax as below

var teachers =  from Teacher in this.schoolContext.Teacher.Take(200)
                orderby Teacher.Name
                select Teacher;

推荐阅读