糊涂工具 大文件excel导出

/**
     * 导出异常数据
     * @param response
     * @param orgCode 机构编码
     * @param upload_no 上传批次
     * @throws Exception
     */
    @RequestMapping("/exportSettleAbnormalData")
    public void exportSettleAbnormalData(HttpServletResponse response,String orgCode,String upload_no,String if_upload,String area) throws Exception{
        QueryWrapper qw = new QueryWrapper<SettleAbnormal>();
        qw.eq("upload_no",upload_no);
        SysUser sysUser = sysUserService.getUser();
        if("1".equals(sysUser.getUser_type())){//行政管理
            if(!StrUtil.hasEmpty(orgCode)){
                qw.eq("org_code",orgCode);
            }
        }else if("2".equals(sysUser.getUser_type()) || "3".equals(sysUser.getUser_type())){
            qw.eq("org_code",sysUser.getOrg_code());
        }
        if(!StrUtil.hasEmpty(if_upload)){
            qw.eq("if_upload",if_upload);
        }
        if(!StrUtil.hasEmpty(area)){
            qw.eq("area",area);
        }
        List<SettleAbnormal> details = settleAbnormalService.list(qw);
        // 通过工具类创建writer,默认创建xls格式
        BigExcelWriter writer = (BigExcelWriter) ExcelUtil.getBigWriter();
        writer.addHeaderAlias("rid", "RID");
        writer.addHeaderAlias("org_code", "机构编码");
        writer.addHeaderAlias("org_name", "机构名称");
        writer.addHeaderAlias("area", "行政区");
        writer.addHeaderAlias("carno", "身份证号");
        writer.addHeaderAlias("name", "人员姓名");
        writer.addHeaderAlias("settle_time", "费用发生时间");
        writer.addHeaderAlias("settle_type", "结算类别");
        writer.addHeaderAlias("med_type", "医疗类别");
        writer.addHeaderAlias("catalogue_type", "目录大类");
        writer.addHeaderAlias("catalogue_code", "目录编码");
        writer.addHeaderAlias("catalogue_code_new", "修改后编码");
        writer.addHeaderAlias("reason_one", "违规原因1");
        writer.addHeaderAlias("reason_two", "违规原因2");
        writer.addHeaderAlias("reason_three", "违规原因3");
        writer.addHeaderAlias("reason_four", "违规原因4");
        writer.addHeaderAlias("reason_five", "申诉原因");
        //只导出定义字段
        writer.setOnlyAlias(true) ;
        // 一次性写出内容,使用默认样式,强制输出标题
        writer.write(details, true);
        //out为OutputStream,需要写出到的目标流
        //response为HttpServletResponse对象
        response.setContentType("application/vnd.ms-excel;charset=utf-8");
        //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
        response.setHeader("Content-Disposition", "attachment;filename=test.xls");
        ServletOutputStream out = response.getOutputStream();
        writer.flush(out, true);
        // 关闭writer,释放内存
        writer.close();
        //此处记得关闭输出Servlet流
        IoUtil.close(out);
    }

js请求部分

export function exportSettleAbnormalData(data) {
    return request({
        url: '/settleAbnormal/exportSettleAbnormalData',
        method: 'post',
        responseType: "blob",
        headers: {
            'Content-Type': 'application/x-download'
        },
        params:data,
    })
}





this.$baseConfirm('你确定要导出当前信息吗', null, async () => {
        this.listLoading = true
        await exportSettleAbnormalData(this.queryForm).then((res) => {
          let fileName = "徐州异常数据导出.xlsx";
          let objectUrl = URL.createObjectURL(new Blob([res.data]))
          const link = document.createElement('a')
          link.download = decodeURI(fileName)
          link.href = objectUrl
          link.click()
          this.listLoading = false;
          this.$baseMessage("导出成功!", 'success')
        })

      })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值