那位大佬能看出问题,运行出来下载的excel表格里面数据没有啊!!!

string strcon = System.Configuration.ConfigurationManager.ConnectionStrings["josn"].ConnectionString;

        SqlConnection con = new SqlConnection(strcon);

        con.Open();

        string sql = "select * from student";

        SqlCommand cmd = new SqlCommand(sql, con);

        SqlDataReader dr = cmd.ExecuteReader();

        DataTable dt = new DataTable();

        for (int i = 0; i < dr.FieldCount; i++)
        {
            dt.Columns.Add(dr.GetName(i), dr.GetFieldType(i));
        }

        object[] objValues = new object[dr.FieldCount];
        while (dr.Read())
        {
            dr.GetValues(objValues);
            dt.LoadDataRow(objValues, true);
        }

        HSSFWorkbook workbook = new HSSFWorkbook();
        //创建工作表
        ISheet sheet = workbook.CreateSheet("Sheet1");
        //表头
        IRow head = sheet.CreateRow(0);

        for (int i = 0; i < dt.Columns.Count; i++)
        {
            ICell headcell = head.CreateCell(i);
            headcell.SetCellValue(dt.Columns[i].ColumnName);
        }
        //表内数据
        for (int j = 0; j < dt.Rows.Count; j++)
        {
            IRow row = sheet.CreateRow(j + 1);

            for (int k = 0; k < dt.Columns.Count; k++)
            {
                ICell cell = row.CreateCell(j);

                cell.SetCellValue(dt.Rows[j][k].ToString());
            }
        }

        //转换为字节数组
        ////创建一个流
        MemoryStream ms = new MemoryStream();

        workbook.Write(ms);
        ms.Flush();
        ms.Position = 0;

        //关闭对数据库的读取
        con.Close();

        return File(ms,"application/vnd.ms-excel", "学生信息表.xls");

1.先直接用程序里写死的数据测试你流程的api,看能不能输出内容
2.断点或者打印查询出来的数据是否有值
上面都能做到,就没理由没值的

直接看不太好看出来,你先打断点,一步步跟一下,看看到底是哪块没进去,没赋到值,然后尝试解决一下,如果还不行,再把对应的代码贴出来,这样也方便大佬们解答。