AngularJS 打 ASP.NET MVC 控制器导出 Excel

问题描述 投票:0回答:1

我有一个 ASP.NET MVC 控制器来导出 Excel 文件:

public ActionResult exportExcelBankData(BankDataViewModel viewModel) 
{
    List<BankDataViewModel> bankDatas = (List<BankDataViewModel>)Session["bankDatas"];
    bankDatas = bankDatas.OrderBy(x => x.completeLoading).ToList();

    using (var package = new ExcelPackage()) 
    {
        var stream = new MemoryStream();
        string fileName = "bankData.xlsx";
        string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

        // fill rows and columns

        package.SaveAs(stream);
        stream.Position = 0;

        return File(stream, contentType, fileName);
    }
}

这里是我的 AngularJs 函数来点击控制器:

 labAnalysisService.exportExcel = function (val, obj) {
    return $http.get( val, //url to controller
      { params: obj, //parameter
        headers: { 'Accept': 'application/json' } 
      });
}

我仍然无法导出Excel。

有什么建议吗?

angularjs asp.net-mvc
1个回答
0
投票

ajax 调用返回的文件将不会被下载,您必须进行以下更改。 通过像这样的java脚本打开一个新的浏览器窗口来请求excel下载

         window.open(
        "Controller/Action?args=" + encodeURIComponent(val),
        "_blank");
© www.soinside.com 2019 - 2024. All rights reserved.