C# ASP.NET报表查看器LocalReport-SQL查询数据集联接值为空

C# ASP.NET报表查看器LocalReport-SQL查询数据集联接值为空,c#,asp.net,localreport,C#,Asp.net,Localreport,我正在做一个基本的MVC应用程序,我正在尝试将SQL查询的值导出到Excel。 当我打开Excel文件时,作为连接一部分的两个字段是空的,我不明白为什么,因为当我单击数据集上的预览数据时,我看到了正确的结果 但是在我的Excel文件中,我看不到标题描述和团队描述 我的SQL查询: 选择Emp.EmployeeID、Emp.FirstName、Emp.LastName、Ti.TitleDescription、Te.TeamDescription、, Emp.来自员工Emp的电话 在Emp.Ti

我正在做一个基本的MVC应用程序,我正在尝试将SQL查询的值导出到Excel。 当我打开Excel文件时,作为连接一部分的两个字段是空的,我不明白为什么,因为当我单击数据集上的预览数据时,我看到了正确的结果

但是在我的Excel文件中,我看不到标题描述和团队描述

我的SQL查询: 选择Emp.EmployeeID、Emp.FirstName、Emp.LastName、Ti.TitleDescription、Te.TeamDescription、, Emp.来自员工Emp的电话 在Emp.TitleID=Ti.TitleID上加入标题Ti 在Emp.TeamID=Te.TeamID上加入团队Te

我的方法:

    public ActionResult Reports(string ReportType)
    {
        LocalReport localreport = new LocalReport();
        localreport.ReportPath = Server.MapPath("~/Reports/EmployeeReport.rdlc");

        ReportDataSource reportDataSource = new ReportDataSource();
        reportDataSource.Name = "EmployeeReportDataSet";
        reportDataSource.Value = db.Employees.ToList();
        localreport.DataSources.Add(reportDataSource);       
        string mimeType;
        string encoding;
        string fileNameExtension = "XLSX";
     
        string[] streams;
        Warning[] warnings;
        byte[] renderedByte;
        renderedByte = localreport.Render("EXCELOPENXML", null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
        Response.AddHeader("content-disposition", "attachment; filename=employee_report." + fileNameExtension);
        return File(renderedByte, fileNameExtension);

    }
我相信我的问题是来自reportDataSource.Value=db.Employees.ToList();我应该使用DataTable1而不是员工,但我不确定如何使用。 如果有人能帮我,我将不胜感激


谢谢,

我发现了问题所在

首先,我使用了DataSet TableAdapter而不是DataSet查询,并且使用了默认情况下生成的方法,即GetData()方法。我把它放在DataSource.Value中=

以下是我更正的代码:

        public ActionResult Reports(string ReportType)
    {
    
        EmployeeReportDataSet employeeReportDataSet = new EmployeeReportDataSet();

        EmployeeReportDataSetTableAdapters.TempReportTableAdapter employeereportTableAdapter =
            new EmployeeReportDataSetTableAdapters.EmployeesReportsTableAdapter();

      employeereportTableAdapter.Fill(employeeReportDataSet.TempReport);

        LocalReport localreport = new LocalReport();
        localreport.ReportPath = Server.MapPath("~/Reports/EmployeeReport.rdlc");

        ReportDataSource reportDataSource = new ReportDataSource();
        reportDataSource.Name = "EmployeeReportDataSet";
        reportDataSource.Value = employeereportTableAdapter.GetData(); 
        localreport.DataSources.Add(reportDataSource);       
        string mimeType;
        string encoding;
        string fileNameExtension = "XLSX";
     
        string[] streams;
        Warning[] warnings;
        byte[] renderedByte;
        renderedByte = localreport.Render("EXCELOPENXML", null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
        Response.AddHeader("content-disposition", "attachment; filename=employee_report." + fileNameExtension);
        return File(renderedByte, fileNameExtension);

    }