需要引用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;
}