前端导出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);
}