数据转excel方法:
exportExcel2(initColumns, initList, name){
let str = '';
let arr = [];
let keyArr = [];
initColumns.forEach((item) => {
arr.push(item['title']);
keyArr.push(item['data']);
});
str = arr.join(',') + '\n';
for (let i = 0; i < initList.length; i++) {
let subArr = keyArr.map((item) => {
let temp = initList[i][item] === undefined ? '' : initList[i][item] + ''; // 转成字符串
// 下面解决中文乱码问题 会把空格转成 #, 这里把空格转成 \xa0 就不会有这个问题了
return temp ? temp.replaceAll(/\s+/g, '\xa0') : '';
});
let subStr = subArr.join('\t,');
subStr += '\n';
str += subStr;
}
// \ufeff 解决中文乱码问题
var blob = new Blob(['\ufeff', str], { type: 'text/plain' });
let object_url = window.URL.createObjectURL(blob);
let link = document.createElement('a');
link.href = object_url;
link.download = `${name}.csv`;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
},
使用:
const initalColumns = [
{
title: '名字',
dataIndex: 'name',
key: 'name',
},
title: '年龄',
dataIndex: 'age',
key: 'age',
},
]
const initList = [
{
name: '张三',
age: 18,
},
{
name: '李四',
age: 20,
},
];
exportExcel2(initalColumns, initList, '统计表格')