我使用以下命令从Controller导出到MVC应用程序中的excel。为此,我必须在Controller中使用一些业务逻辑和数据对象。我的出口有效,但我认为我不应该在控制器中这样做。我是MVC的新手。是否有更好的方法将此逻辑移至模型并将其从Controller中移出?
public void ExportToExcel(PortalAccountMappingModel model)
{
var data = model.GetExport();
var excelReport = new ExcelReportGenerator(Configurations.ReportTemplatesFolder);
using (ExcelReportData reportData = excelReport.GenerateReport(ExcelReportDataOutputType.StreamData, Constants.PORTAL_ACCOUNT_MAPPING_REPORT_NAME, typeof(PortalAccountMappingReportItem), data))
{
byte[] reportByteArray = reportData.DataStream.ToArray();
Response.Clear();
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", reportData.FileName));
Response.AddHeader("Content-Length", reportByteArray.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(reportByteArray);
}
}