一、html
<button type="button" class="btn btn-success" style="margin-left: 15px;" οnclick="ExportHealthRecords()">导出</button>
二、js
//DKD档案导出
function ExportHealthRecords() {
var xhr = new XMLHttpRequest();
// 添加请求的方式,地址
var url = "@Url.Action("ExportHealthRecords", "Patient")" + "?" + $("#searchform").serialize();
// 设置responseType
xhr.responseType = "blob";
xhr.onload = function (e) {
var content = xhr.response;
// 组装a标签
let myDate = new Date();
var elink = document.createElement("a");
// 设置下载文件名
elink.download = "DKD档案" + myDate.format("yyyy-MM-dd hh:mm:ss") + ".xls";
elink.style.display = "none";
let blob = new Blob([content]);
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
// 模拟点击事件
elink.click();
document.body.removeChild(elink);
};
xhr.open("GET", url, true);
xhr.send();
}
三、Controller
public async Task<IActionResult> ExportHealthRecords(PatientSearchInput input)
{
input.LoginUserInfo = CurrentLoginUser;
string sFileName = $"XX文件{DateTime.Now:yyyy-MM-dd HH-mm-ss}";
//string filePath = FileTools.CreatePathXls(_hostingEnvironment.WebRootPath, "HealthRecordInfo", sFileName);
var result= await _patientService.ExportHealthRecords(input);
return File(result, "application/ms-excel", sFileName + ".xls");
}