关于jeecg-boot导出功能(前端+后台)

本文详细介绍了一种在前端使用Modal组件进行表格数据导出的方法,包括如何通过调用后端接口实现数据导出,以及如何在不同浏览器环境下处理文件下载。文章还涉及了Ant Design中Modal组件的配置和使用,以及与之相关的表单验证规则。
export default {
  name: 'testModal',
 // mixins: [testService],
data() {
  return {
    title: '操作',
    visible: false,
    testParam :{},
    model: {},
    labelCol: {
      xs: { span: 24 },
      sm: { span: 5 }
    },
    wrapperCol: {
      xs: { span: 24 },
      sm: { span: 16 }
    },
    confirmLoading: false,
    form: this.$form.createForm(this),
    validatorRules: {}
  }
},
methods: {

downFile('insert/insertTest',this.testParam).then((data) => {
  //弹出框隐藏
  this.visible = false
  const fileName = '测试导出生成表格';
  if (!data) {
    this.$notification.error({
      message: '提示',
      description: '导出表格失败.'
    })

    return;

  }
  if (typeof window.navigator.msSaveBlob !== 'undefined') {
    window.navigator.msSaveBlob(new Blob([data]), fileName + '.xls');
  }
  else {

    let url = window.URL.createObjectURL(new Blob([data]));
    let link = document.createElement('a');
    link.style.display = 'none';
    link.href = url;
    link.setAttribute('download', fileName + '.xls');
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link); // 下载完成移除元素
    window.URL.revokeObjectURL(url); // 释放掉blob对象
    this.$notification.info({
      message: '提示',
      description: '导出表格成功.'
    })

  }
  that.$emit('ok')
});
 
 }
}
@RequestMapping(value = "/insertTest")
public void insertTest(String xxx,String fileName, HttpServletResponse response) {

    try {
        
         ................................

        JSONArray testList = (JSONArray) jsonObject.get("data");
        List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>();
        List<Map<String, Object>> list = new ArrayList<>();

        for (int i = 0; i <testList .size() ; i++) {
            Map map = new HashMap();
            String testa = (String) tsList.getJSONObject(i).get("testa");
            map.put("testa",testa);
            list.add(map);
        }
        entity.add(new ExcelExportEntity("测试导出", "testa", 200));

        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(
                  fileName, fileName), entity, list);

        ServletOutputStream out = response.getOutputStream();
        workbook.write(out);
        out.flush();
        out.close();

    } catch (Exception e) {
        log.error("测试导出异常"+e.getMessage());
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值