js 前端实现将json格式数组下载到excel(xls、xlsx、csv)表格里

项目需求:上传文件时如果有错误信息,则上传不成功,需要提示用户下载查看错误信息。下载查看错误信息是前端根据后台返回的对象数组放到excel表格中的。

后台返回的数组:

效果如下:

在开始之前先要了解一下几个excel格式的区别:

1.后缀是xls的在2007版本之后的office打开会有提示(xls在wps上打开没有提示)

2.后缀是xlsx在2007版本之后的打开没有提示,但是在2007之前的版本会打不开

3.csv是最通用的一种文件格式,它可以非常容易的被导入各种pc表格及数据库中,此文件中一行即为数据表的一行。生成数据表字段用半角逗号隔开。但是csv不能设置样式。

第一种:生成xls

代码如下:

// 错误信息下载
  exportEx = val => { // val:需要导出的json数据
    let JSONData = val;
    let ShowLabel = ['序号', 'imei', '错误原因']; // 导出的excel的表头数据
    //先转化json
    let arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
    // 给数组内容换好位置
    let finalData = []; // 最终要导出的json数据,其中json数据顺序要和表头数据顺序一致
    arrData.forEach(item => {
      let obj = {
        rowNum: item.rowNum,
        imei: item.imei ? item.imei : '',
        errorMsg: item.errorMsg,
      };
      finalData.push(obj);
    });
    let excel = '<table>';
    //设置表头
    let row = '<tr>';
    for (let i = 0; i < ShowLabel.length; i++) {
      row += '<td>' + ShowLabel[i] + '</td>';
    }
    //换行
    excel += row + '</tr>';
    //设置数据
    for (let i = 0; i < finalData.length; i++) {
      let r
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值