详细流程不展示了 直接展示 最后下载的
//主要流程
//主要流程
//主要流程
//主要流程
//把文件转成文件流的形式
ob_start();
$xlsData = ob_get_contents();
ob_end_clean();
$data = [
'file' => "data:application/vnd.ms-excel;base64," . base64_encode($xlsData),
'file_name' => $fileName //文件名称加后缀
];
exit(json_encode(['code' => $this->successCode, 'message' => '操作成功', 'data' => $data]));
ajax前端处理
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input class="id" type="number" value = '22'>
<input class="start_time" type="date">
<input class="end_time" type="date">
<button class="b">点击</button>
</body>
</html>
<script src="https://cdn.staticfile.org/jquery/3.1.1/jquery.min.js"></script>
<script>
var url = "https://********/admin/finance/code_pay_bill";
$('.b').click(function () {
var data = {
'drugstores_id':$('.id').val(),
'start_time':$('.start_time').val(),
'end_time':$('.end_time').val(),
}
$.ajax({
type: 'post',
data: JSON.stringify(data),
url: url,
success: function (redata) {
var result = JSON.parse(redata) //如需要 把json转数组
//主要代码
//主要代码
//主要代码
var $a = $("<a>");
$a.attr("href", result.data.file);
$a.attr("download", result.data.file_name);
$("body").append($a);
$a[0].click();
$a.remove();
}
})
})
</script>