只需将JSON格式数据转换成带换行的字符串即,可格式为:

str='th,th,th,th,th\n

     td,td,td,td,td\n

     td,td,td,td,td\n'

把字符串作为 URI 组件进行编码

encodeURIComponent()

export const tableColumns = [
  {
    title: '名字',
    key: 'name',
  },
  {
    title: '年龄',
    key: 'age',
  },
  {
    title: '身高',
    key: 'hight',
  },
  {
    title: '生日',
    key: 'birthday',
  },
]
exportExcel(tableData) {
      let str='';
      const columns = tableColumns;
      columns.forEach((th, index) => {
        str += `${th.title},`
      })
      str += '\n'
    
      this[tableData].forEach((item, index) => {
        let tr = ''
        columns.forEach(td => {
          tr += `${item[td.key] ? item[td.key] : ''},`
        })
        tr += `\n`
        str += tr
      })
      const url = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str)
      const link = document.createElement('a')
      link.href = url
      link.download = 'xxx.xls'
      document.body.appendChild(link)
      link.click() //模拟点击下载文件
      document.body.removeChild(link)
    }
  },
最后修改:2021 年 11 月 29 日 10 : 01 PM
如果觉得我的文章对你有用,请随意赞赏