csv文件導出解決方案

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');

    }
複製代碼
相關文章
相關標籤/搜索