将后端返回的json数据导出为excel表格,前端打印excel表格

1.因为工作需求 需要将后端接口回来的json数据打印出 excel表格给用户观看

我也是再网上找了很多版本,都没有找到适合的

很多的情况是  只能导出静态的死数据 不能导出动态的活数据

在我翻了翻几十篇博客的情况下 终于找到了合适的 但也不能直接拿来使用 经过我得修改的终于可以了

废话不说直接上核心代码 

<script src="js/JsonExportExcel.min.js"></script> //这个是个插件库
<script src="https://cdn.bootcss.com/axios/0.19.0/axios.min.js"></script>//我是使用axios 请求后台数据
<script src="./js/pub.js"></script> //这里是封装的axios  

axios 是这边封装好的一个 js请求文件

function getData(){
                pub._InitAxios({     //封装再pub.js中axios 请求方法  这里是采用post请求的
                _url:pub._url,//公共接口   
                ur:pub._DetailApi.getPart,//详细的接口
                data:{   //请求携带的参数
                      "column_id":9201911221311140,
                      "pageNum":1,
                      "pageSize":30,  
                  },
                    cbk:(res)=>{
                           // console.log(res.page.list)      //请求回来的数据
                           var newArr=[];   //定义一个空的数组  用来接受过滤的数据
                           for(var value of res.page.list){
                               var obj={};  //定义一个空的对象
                               obj.id=value.article_id;   //从后台回来的数据中 选出有用的数据
                               obj.name=value.article_name;
                               newArr.push(obj);   //push到数组中
                           }
                           console.log(newArr);
                           getExcel(newArr);  //调用导出excel的方法
                    }
                  })
            }

//导出 函数   

function getExcel(data){
                var option={};
                option.fileName = 'excel'
                option.datas=[
                    {
                        sheetData:data,   //data就是传入的后台数据 作为的参数
                        sheetHeader:['编号','名字']//自定义表头
                    },
                ]
                var toExcel=new ExportJsonExcel(option);
                toExcel.saveExcel();
            }

最后页面上加入一个按钮调用方法即可

<button οnclick="getData()">点击我下载表格</button>

完整的源码下载地址是:https://github.com/zhaoyunchong/jsonToExcel.git 

 

一年之后再来更新了下   关注我 持续更新前端知识  

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunchong_zhao

帮到你了,请作者喝杯矿泉水可好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值