開發背景:后台數據只能展示在頁面,無法導入到本地進行數據分析。
開發成果:將導出到Excel功能封裝成一個公用js函數,供其他vue頁面復用。
1.安裝vue插件包
npm install --save xlsx file-saver
2.編寫公用js函數
/publicFn/index.js
代碼如下:
import FileSaver from 'file-saver';
import XLSX from 'xlsx';
export default {
// 導出Excel表格
exportExcel (name) {
/* generate workbook object from table */
var wb = XLSX.utils.table_to_book(document.querySelector('#lafite_datas'))
/* get binary string as output */
var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
try {
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), name)
} catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
return wbout
}
}
ps: #lafite_datas
可改成你自己的table中的id名,name
是參數,通過調用的時候傳過來的,它是文件的命名。
3.在main.js中引入
如圖:
4.調用
this.publicFns.exportExcel(Name);