想要将表格导出为excel,首先需要下载两个插件
npm install --save xlsx file-saver
然后在要导出的页面引入
//template
<div id="tableId">
<table>
<tr>
<td>张三</td>
<td>李四</td>
<td>王五</td>
</tr>
</table>
</div>
<button @click="downloadExl">导出</button>
//script
const XLSX = require('xlsx');
const FileSaver = require('file-saver');
downloadExl() {
const wb = XLSX.utils.table_to_book(document.getElementById('tableId'));
const wopts = {
bookType: 'xlsx',
bookSST: false,
type: 'binary',
};
const wbout = XLSX.write(wb, wopts);
const mytime = new Date().toLocaleString();
FileSaver.saveAs(new Blob([this.s2ab(wbout)], {
type: 'application/octet-stream;charset=utf-8',
}), `自定义名称_${mytime}.xlsx`);
},
s2ab(s) {
if (ArrayBuffer) {
const buf = new ArrayBuffer(s.length);
const view = new Uint8Array(buf);
// eslint-disable-next-line no-bitwise
for (let i = 0; i !== s.length; i += 1) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
const buf = new Array(s.length);
// eslint-disable-next-line no-bitwise
for (let i = 0; i !== s.length; i += 1) buf[i] = s.charCodeAt(i) & 0xFF;
return buf;
}