前后端分离流文件下载

后端代码

    @GetMapping(value = "/excelList",produces = "application/vnd.ms-excel;charset=utf-8")
    public void excelList(HttpServletResponse response) throws IOException {
        List<TUsers2> list = tUsersService.getLists();
        ExcelWriter writer = ExcelUtil.getWriter();

        writer.addHeaderAlias("name", "姓名");
        writer.addHeaderAlias("age", "年龄");
        writer.addHeaderAlias("money", "账户余额");
        writer.addHeaderAlias("id", "id");
        writer.setOnlyAlias(true);//导出指定别名的列

        writer.merge(3, "hutool报表");
        writer.write(list, true);
        response.setContentType("application/vnd.ms-excel;charset=utf-8");
        response.setHeader("Content-Disposition", "attachment;filename=" + System.currentTimeMillis() + ".xls");

        ServletOutputStream out = response.getOutputStream();
        
        writer.flush(out, true);

        out.close();

    }

前端代码

          axios.get(`http://localhost:8080/v1/excelList`, { //url: 接口地址
                    params: this.queryParam,
                    responseType: `arraybuffer` //一定要写

                }).then(res => {
                        if (res.status == 200) {
                            let blob = new Blob([res.data], {
                                type: 'application/vnd.ms-excel;charset=utf-8'
                            });
                                let objectUrl = URL.createObjectURL(blob)
                                window.location.href = objectUrl
                        }
                    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值