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');
}
複製代碼