[ASP.NET MVC] ExcelFileDownload

參考網路上的文章 前端 HTML + JavaScript 使用指定 window.location 的寫法,叫用後端 ExportXls Action 並傳入參數 String ddlSales . 

 

參考網路上的文章 前端 HTML + JavaScript 使用指定 window.location 的寫法,叫用後端 ExportXls Action 並傳入參數 String ddlSales . 

前端

So.cshtml

window.location =  "@Url.Action("ExportXls", "ControllerName")" + "?ddlSales=" + $('#ddlSales').val();

說明:叫用後端 Action 並將回傳資料放入 window.location 中。

後端

XXController.cs

public ActionResult ExportXls(string ddlSales)
{
   List<Models.So> SOs = (new Comm.DBClass()).GetSo(ddlSales);
   return File(ExportXlsBytes(SOs), "application/vnd.ms-excel", String.Format("So_{0}.xlsx", DateTime.Today.ToString("yyyyMMdd")));
}

 說明:藉由前端輸入的 ddlSales (SalesName) 查詢出 SOs (SO資料) 再將 SOs 匯入至 Excel 中( 即 ExportXlsBytes 函式),產出檔案 (Bytes) ,加上ContentType & FileName 再傳送至前端。