layui导出所选行数据为excel,写入输出流,但是不下载文件

问题遇到的现象和发生背景

我用ajax发的post请求,后台也写入到输出流了,但是就是不下载文件,网上说不能用ajax发送,不支持导出excel,那应该怎么导出呢?

img

问题相关代码,请勿粘贴截图
 function exportApiDemo() {
        debugger
        var $ = layui.jquery;
        var ctx = top.global.ctx;
        var table = layui.table;
        var layer = layui.layer;
        var file1 = table.checkStatus('test')
            , data = file1.data
            , length1 = data.length
        if (length1 < 1) {
            layer.alert('请至少选择一行!');
            return false
        }     
         $.ajax({
           url: ctx + '/cadre/HeadOfficeOfCityCompanyFourLevel/exportExcel',
           type: "post",
           dataType: "json",
           data: JSON.stringify(data),
         headers:{
              'Content-Type':'application/json;charset=UTF-8',
          },
      })
    }


后台用导出流
try {
                    response.setContentType("application/octet-stream; charset=utf-8");
                    response.setHeader("Content-Disposition", "attachment; filename=" + Encodes.urlEncode("四级管理人员.xlsx"));
                    ouputStream = response.getOutputStream();
                    workBook.write(ouputStream);
                    //关闭流
                    ouputStream.flush();
                    ouputStream.close();
                } catch (IOException e) {
                    //  log.error("ouputStream_Close_Fail_" + e.getMessage(), e);
                    e.printStackTrace();
                }

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

layui的数据表格不是自带excel导出功能的么