C# ASP.NET报表查看器LocalReport-SQL查询数据集联接值为空
我正在做一个基本的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 我的方法: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
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);
}