const exportCsv = (columns, list, fileName = '下载') => {
// 列标题,逗号隔开,每一个逗号就是隔开一个单元格
let str = columns.map(v => v.label).join(',') + "\n";
// 拼接str
for (let i = 0; i < list.length; i++) {
let row = list[i]
columns.forEach(column => {
// 增加\t为了不让表格显示科学计数法或者其他格式
str += `${row[column.index] + '\t'},`;
});
str += '\n';
}
// 通过创建a标签实现 点击下载
const link = document.createElement("a");
link.href = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str); // encodeURIComponent解决中文乱码
link.download = fileName + ".csv"; // 对下载的文件命名
link.click();
}
// 调用
let columns = [
{ index: 'name', label: '姓名' },
{ index: 'phone', label: '电话' },
// { index: 'email', label: '邮箱' },
]
let list = [
{
name: '路人甲',
phone: '123456789',
email: '000@123456.com'
},
{
name: '炮灰乙',
phone: '123456789',
email: '000@123456.com'
}
];
exportCsv(columns, list);
js导出csv
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1. JS导出CSV中文乱码问题及兼容IE[https://huangwang.github.io/2019/...