我有一个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。
任何建议?
答案 0 :(得分:0)
使用ajax调用返回的文件将不会被下载,您必须进行以下更改。 通过像这样的
这样的java脚本打开浏览器的新窗口来请求excel下载 window.open(
"Controller/Action?args=" + encodeURIComponent(val),
"_blank");