angularJS 純js導出excel

需要引用FileSaver.js 、 xlsx.full.min.js

//導出按鈕
        self.export = function () {
	    //導出的數據全部放到data中
	    // 表頭 
            let data = [["Name", "Desc"]];
            // 填充數據
            for (let i = 0; i < self.viewerData.length; i++) {
                data.push([self.viewerData[i].Name, self.viewerData[i].Desc]);
            }


            let wopts = { bookType: 'xlsx', type: 'binary' };
            // 定義excel表名
            let fileName = "bill.xlsx";

            const ws = XLSX.utils.aoa_to_sheet(data);
            const wb = XLSX.utils.book_new();
            XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');

            const wbout = XLSX.write(wb, wopts);
            saveAs(new Blob([s2ab(wbout)]), fileName); // 保存爲文件
        }
        
	function s2ab(s) {
            const buf = new ArrayBuffer(s.length);
            const view = new Uint8Array(buf);
            for (let i = 0; i !== s.length; ++i) {
                view[i] = s.charCodeAt(i) & 0xFF;
            };
            return buf;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章