我正在做一个基本的 MVC 应用程序,我正在尝试将我的 SQL 查询的值导出到 Excel。当我打开 Excel 文件时,作为 JOIN 一部分的 2 个字段是空的,我不明白为什么,因为当我单击 DataSet 上的预览数据时,我看到了正确的结果。
但在我的 Excel 文件中,我没有看到 TitleDescription 和 TeamDescription。
我的 SQL 查询:选择 Emp.EmployeeID、Emp.FirstName、Emp.LastName、Ti.TitleDescription、Te.TeamDescription、Emp.Phone FROM 员工 Emp JOIN Titles Ti ON Emp.TitleID=Ti.TitleID JOIN Teams Te ON Emp.TeamID=团队ID
我的方法:
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 而不是Employees,但我不确定如何。如果有人可以帮助我,我将不胜感激。
谢谢,