Действие контроллера. Параметр формата должен быть «EXCEL».
public FileResult Report(String format)
{
LocalReport report = new LocalReport();
report.ReportPath = Server.MapPath("~/TestReport.rdlc");
report.DataSources.Clear();
report.DataSources.Add(new ReportDataSource(GetData()));
report.Refresh();
return GetFileContentResult(report, format, null, "TestReport");
}
Вспомогательный метод, который создает FileContentResult из любого отчета.
public FileContentResult GetFileContentResult(Report report, String format, String deviceInfo, String fileDownloadName)
{
String mimeType;
String encoding;
String filenameExtension;
String[] streamIds;
Warning[] warnings;
FileContentResult fileContentResult = new FileContentResult(report.Render(format, deviceInfo, out mimeType, out encoding, out filenameExtension, out streamIds, out warnings), mimeType);
fileContentResult.FileDownloadName = Path.ChangeExtension(fileDownloadName, filenameExtension);
return fileContentResult;
}
Редактировать: забыть вызвать функцию справки. К сожалению.