js-export-excel 插件 导出antd table数据为excel

288 阅读1分钟

安装:

npm i --save-dev js-export-excel

使用方法:

const data = [
  {
    key: '1',
    name: '张三',
    isCompeleted: true,
    scored: 80,
    compeleteDate: '2022-12-12 08:00:00'
  },
  {
    key: '2',
    name: '张三',
    isCompeleted: true,
    scored: 80,
    compeleteDate: '2022-12-12 08:00:00'
  },
  {
    key: '3',
    name: '张三',
    isCompeleted: true,
    scored: 80,
    compeleteDate: '2022-12-12 08:00:00'
  },
  {
    key: '4',
    name: '张三',
    isCompeleted: true,
    scored: 80,
    compeleteDate: '2022-12-12 08:00:00'
  },
  {
    key: '5',
    name: '张三',
    isCompeleted: false,
    scored: 80,
    compeleteDate: '2022-12-12 08:00:00'
  },
  {
    key: '6',
    name: '张三',
    isCompeleted: true,
    scored: 80,
    compeleteDate: '2022-12-12 08:00:00'
  },
  {
    key: '7',
    name: '张三',
    isCompeleted: false,
    scored: 80,
    compeleteDate: '2022-12-12 08:00:00'
  },
];
const downloadExcel = () => {   //导出table数据
    const data_ = data ? data : '';//表格数据
    let option = {};
    let dataTable = [];
    if (data) {
      for (let i in data_) {
        if(data_){
          let obj = {
            '姓名': data_[i].name,
            '是否完成': data_[i].isCompeleted,
            '考试得分': data_[i].scored,
            '完成日期': data_[i].compeleteDate
          }
          dataTable.push(obj);
        }
      }
    }
    option.fileName = '学生考试情况'
    option.datas = [
      {
        sheetData: dataTable,
        sheetName: 'sheet',
        sheetFilter:['姓名', '是否完成', '考试得分', '完成日期'],
        sheetHeader: ['姓名', '是否完成', '考试得分', '完成日期'],
      }
    ];
    let toExcel = new ExportJsonExcel(option);
    toExcel.saveExcel();
  }
 <Button type="primary" onClick={downloadExcel}>导出</Button>