前端
<!-- ajax下载excel文件 -->
<script type="text/javascript">
function downloadExcel(){
var beginDate = $("#beginDate").val();
var endDate =$("#endDate").val();
if(!beginDate){
top.$.jBox.tip('请选择 开始日期','warn');
return;
}
if(!endDate){
top.$.jBox.tip('请选择 结束日期','warn');
return;
}
$.jBox.tip('正在处理,请稍等...','loading');
var xhr = new XMLHttpRequest();
xhr.open('post', '${ctx}/comprehensive/listExport', true);
xhr.responseType = 'blob';
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function () {
if (this.status == 200) {
$.jBox.closeTip();
top.$.jBox.tip('文件开始下载...','success');
var blob = this.response;
var a = document.createElement('a');
var url = window.URL.createObjectURL(blob);
a.href = url;
//设置文件名称
a.download = '统计分析.xlsx';
a.click();
a.remove();
}
}
xhr.send("beginDate="+beginDate+"&endDate="+endDate);
}
</script>
后端
@RequestMapping(value = "listExport")
public String listExport(Comprehensive comprehensive, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
try {
String fileName = "统计分析"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
List<Comprehensive> list = comprehensiveService.findList(comprehensive);
ExportExcel exportExcel = new ExportExcel("综合统计分析 ", Comprehensive.class);
Comprehensive.mergeCell(exportExcel);
exportExcel.setDataList(list).write(response, fileName).dispose();
return null;
} catch (Exception e) {
addMessage(redirectAttributes, "导出失败!失败信息:"+e.getMessage());
}
return "redirect:" + adminPath + "/comprehensive/list";
}