只需将JSON格式数据转换成带换行的字符串即,可格式为:
str='th,th,th,th,th\n
td,td,td,td,td\n
td,td,td,td,td\n'
把字符串作为 URI 组件进行编码
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)
}
},