/ / angularJS ha colpito il controller ASP.MVC per esportare excel - angularjs, asp.net-mvc

angularJS ha colpito il controller ASP.MVC per esportare excel - angularjs, asp.net-mvc

Ho un controller MVC per esportare il file 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);
}
}

e qui i miei angularjs funzionano per colpire il controller

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

e io "non riesco ancora a esportare l'Excel.

qualche suggerimento?

risposte:

0 per risposta № 1

Un file restituito con una chiamata ajax non verrà scaricato, è necessario apportare le seguenti modifiche. Fai richiesta del download excel aprendo una nuova finestra del browser attraverso lo script java come questo

         window.open(
"Controller/Action?args=" + encodeURIComponent(val),
"_blank");