java导出功能无法下载excel
开始使用ajax请求,项目不报错,但是浏览器也没有Excel文件下载,查找代码好久都没有解决
原因:Ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出来下载文件。
解决办法:直接使用window.location.href=URL
window.location.href = '/XXXXX/XXXX'
@RequestMapping("/xxxx")
public void XXX(HttpServletRequest request,HttpServletResponse response){
// 调用根据条件查询访客信息
List<xxx> list= xxxService.xxx(xxx);
//设置文件名称
try {
//设置excel表头
LinkedHashMap<String, String> fieldMap = new LinkedHashMap<>();
fieldMap.put("xx", "表头");
fieldMap.put("xx", "表头");
fieldMap.put("xx", "表头");
fieldMap.put("xx", "表头");
ExcelUtil.listToExcelHasFileName(list, fieldMap, "sheet", 95536, response,"表名称");
} catch (Exception e) {
e.printStackTrace();
}