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