首先,在vue中导入 xlsx
import XLSX2 from 'xlsx';
在methods 中加入以下两个方法
exportFunc: function (e) {
// 从表生成工作簿对象
var wb = XLSX2.utils.table_to_book(document.getElementById('out-table'),{raw:true});
// 得到二进制字符串作为输出
var wbout = XLSX2.write(wb, {
bookType: 'xlsx',
type: 'binary',
bookSST:true,
cellStyles:true
});
FileSaver.saveAs(new Blob([this.s2ab(wbout)], {
type: 'application/octet-stream'
}), '项目报表.xlsx');
},
//转二进制
s2ab: function (s) {
if (typeof ArrayBuffer !== 'undefined') {
let buf = new ArrayBuffer(s.length);
let view = new Uint8Array(buf);
for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
} else {
let buf = new Array(s.le