前端js匯出CSV,Excel格式檔案

來源:互聯網
上載者:User

標籤:中文   key   one   ica   alt   href   技術   tar   export   

通過自己實際測試有以下幾種方法

方法一通過a標籤實現,把要匯出的資料用“\n”和“,”拼接成一個字串,然後把字串放到href中,這種方法只支援chrome,firefox等非ie瀏覽器

html頁面代碼如下

<!DOCTYPE html><html>    <head>        <meta http-equiv="content-type" content="text/html; charset=utf-8">        <meta name="author" content="oscar999">        <title>匯出CSV檔案</title>        <script>        function exportCsv(obj){            //title ["","",""]            var title = obj.title;            //titleForKey ["","",""]            var titleForKey = obj.titleForKey;            var data = obj.data;            var str = [];            str.push(obj.title.join(",")+"\n");            for(var i=0;i<data.length;i++){                var temp = [];                for(var j=0;j<titleForKey.length;j++){                    temp.push(data[i][titleForKey[j]]);             }             str.push(temp.join(",")+"\n");         }         var uri = ‘data:text/csv;charset=utf-8,‘ + encodeURIComponent(str.join(""));           var downloadLink = document.createElement("a");         downloadLink.href = uri;         downloadLink.download = "export.csv";          document.body.appendChild(downloadLink);         downloadLink.click();         document.body.removeChild(downloadLink);       }      window.onload = function(){          document.getElementById("test").onclick = function(){              exportCsv({                  title:["第一列","第二列"],                  titleForKey:["num1","num2"],                  data:[                     {                      num1:"123",                      num2:"fff"                     },{                      num1:"123",                      num2:"fff"                     },{                      num1:"123",                      num2:"fff"                     }]                  });         }      }      </script>       </head><body>  <a id="test" href="javascript:;">匯出</a></body></html>

第二種方法通過ActiveXObject("Excel.Application")實現,這種方法只支援ie瀏覽器

html頁面代碼如下

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>IE匯出CSV</title><script>window.onload = function(){    function exportCsv(){        //建立AX對象excel        var oXL = new ActiveXObject("Excel.Application");         //擷取workbook對象         var oWB = oXL.Workbooks.Add();        //啟用當前sheet        var oSheet = oWB.ActiveSheet;        var Lenr = [["標題一","標題二","標題三"],["4","5","6"],["1","2","3"]];        for (i = 0; i < Lenr.length; i++) {            for (j = 0; j < Lenr[i].length; j++) {                oSheet.Cells(i + 1, j + 1).value = Lenr[i][j];             }        }        //設定excel可見屬性         oXL.Visible = true;    }    document.getElementById("J_export").onclick = function(){        exportCsv();          }}</script></head><body>   <a href="javascript:;" id="J_export">匯出</a></body></html>

第三種方法也是目前項目中正在使用的

通過使用FileSave.js實現FileSave.js外掛程式https://github.com/eligrey/FileSaver.js/

html頁面代碼如下

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>IE匯出CSV</title><script src="FileSaver.js"></script><script>window.onload = function(){    function exportCsv2(){        //Excel開啟後中文亂碼添加如下字串解決        var exportContent = "\uFEFF";        var blob = new Blob([exportContent+"標題,標題,標題\n1,2,3\n4,5,6"],{type: "text/plain;charset=utf-8"});        saveAs(blob, "hello world.csv");    }    document.getElementById("J_export").onclick = function(){        exportCsv2();    }}</script></head><body>    <a href="javascript:;" id="J_export">匯出</a></body></html>

前端js匯出CSV,Excel格式檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.