前端下载excel

从后端查询列表list值,返回给前端一个list,在前端用excel插件设置excel列属性并将文件下载到本地(向浏览器写数据)。
在这里插入图片描述

导出按钮

<div class="buttons-preview">
            <a class="btn btn-default  btn-sm"
               href="javascript:exportxls()"><i class="fa fa-share"></i>导出工单报表</a>
        </div>

js实现

function exportxls(){
        $.ajax({          
            url: "${basePath}/workOrder/getExportReportList",
            data:$("#search_form").serializeJSON(),
            method: 'post',
            dataType:'json',
            success:function(data){
                // var json = data.rows;
                var json = data;
                json.unshift({
                    "id": "主键",
                    "warnId": "监控项id",
                    "warnName": "监控项名称",
                    "categoryName": "分类名称",
                    "groupName": "分组",
                    "warnLevel": "告警级别",
                    "totalWarnCount": "累计告警次数",
                    "sysErrorCount": "系统异常次数",
                    "ignoreWarnCount": "忽略期间触发次数",
                    "dealWarnCount": "处理问题期间触发次数",
                    "effectiveRate": "有效率(%)"
                });
                var sheet = XLSX.utils.json_to_sheet(json,{skipHeader:true});
                sheet['!cols']=[
                    {wpx: 45,hidden: true},
                    {wpx: 120},
                    {wpx: 60},
                    {wpx: 60},
                    {wpx: 60},
                    {wpx: 65},
                    {wpx: 60},
                    {wpx: 60},
                    {wpx: 60},
                    {wpx: 60},
                    {wpx: 60}
                ];
                openDownloadDialog(sheet2blob(sheet), '监控工单报表.xlsx');
            }
        });
    }

前端引入的插件:

<script src="${basePath}/plugs/SheetJs/xlsx.full.min.js"></script>
<script src="${basePath}/plugs/SheetJs/export.js"></script>

java后端代码

 @RequestMapping("getExportReportList")
 @ResponseBody
  public Object getExportReportList(HttpServletRequest request){
      Map<String, Object> param = this.paramsToMap(request);
      List<WarnWorkOrdersVo> data = warnWorkOrderService.getExportReportList(param);
      return data;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值