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/...