0
点赞
收藏
分享

微信扫一扫

前端导出csv文件

mjjackey 2022-05-06 阅读 45

前端导出csv文件

obj = {
    title: ['姓名', '年龄', '性别'],
    data: [
      { name: 'dd', age: 12, sex: '男' },
      { name: 'dd1', age: 122, sex: '男' },
      { name: 'dd2', age: 132, sex: '女' },
      { name: 'dd3', age: 112, sex: '男' },
      { name: 'dd4', age: 142, sex: '男' },
    ],
  };
  export(obj: any = this.obj) {
    //处理数据
    const title = obj.title;
    const dataKey = Object.keys(obj.data[0]);
    const data = obj.data;
    let str: string[] = [];
    str.push(title.join(',') + '\r\n');
    for (let i = 0; i < data.length; i++) {
      let temp = [];
      for (let j = 0; j < dataKey.length; j++) {
        temp.push(data[i][dataKey[j]]);
      }
      str.push(temp.join(',') + '\r\n');
    }
    const blob = new Blob(['\uFEFF' + str.join('')], {
      type: 'test/csv;charset=utf-8',
    });
    //导出
    const url = window.URL.createObjectURL(blob);
    const downloadLink = document.createElement('a');
    downloadLink.href = url;
    //导出文件的文件名
    downloadLink.download = 'test.csv';
    downloadLink.click();
    window.URL.revokeObjectURL(url);
  }
举报

相关推荐

0 条评论