function exportDataToCsv(fileName, data) {
let csvContent = window.navigator.msSaveOrOpenBlob ? '\ufeff' : 'data:text/csv;charset=utf-8,\ufeff';
csvContent += data + '\0\t\n';
if (window.navigator.msSaveOrOpenBlob) {
// if browser is IE
// blob对象表示一个不可变、原始数据的类文件对象
// new Blob(array, option), array表示由ArrayBuffer,
// ArrayBufferView, Blob, DOMString 等对象构成的 Array
// option为配置对象,有type和endings,type为放入blob的数组的MIME类型,ending可为transparent和native,为native代表结束符\n会被更改为适合宿主操作系统文件系统的换行符,为transparent代表代表会保持blob中保存的结束符\n不变
const blob = new Blob([decodeURIComponent(encodeURI(csvContent))], {
type: 'text/csv;charset=utf-8;'
});
navigator.msSaveBlob(blob, fileName); // 用于保存File或Blob到硬盘
} else {
const encodedUri = encodeURI(csvContent);
const link = document.createElement('a');
link.setAttribute('href', encodedUri);
link.setAttribute('download', fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
window.onload = () => {
exportDataToCsv('asdasd.csv', 'aasd,asdasd');
}
复制代码
转载于:https://juejin.im/post/5cbdb0ec6fb9a0320f7de569