ElementUI表格資料匯出為Excel
阿新 • • 發佈:2020-10-26
記錄ElementUI表格資料匯出為Excel的步驟:
1. 安裝依賴
npm install --save xlsx file-saver
npm install -D script-loader
可能會報錯,提示:
found 72 vulnerabilities (68 low, 1 moderate, 3 high)
run `npm audit fix` to fix them, or `npm audit` for details
按照提示嘗試修復就好了。
2. 下載Blob.js、export2Excel.js
度盤地址:https://pan.baidu.com/s/1Axo_kC0WatR3hnFK-JSfOA 提取碼:a6u9
在src下建立excel資料夾,將下載的檔案拷貝進去。
3. 功能程式碼
新增匯出按鈕
1 <el-button type="primary" size="small" @click="downloadExcel">匯出</el-button>
在methods中寫對應函式
1 downloadExcel() { 2 this.$confirm('將匯出為excel檔案,確認匯出?', '提示', { 3 confirmButtonText: '確定', 4 cancelButtonText: '取消',5 type: 'warning' 6 }).then(() => { 7 this.excelData = this.tableData 8 this.export2Excel() 9 }).catch(() => { 10 11 }) 12 }, 13 // 資料寫入excel 14 export2Excel() { 15 var that = this 16 require.ensure([], () => { 17 const { export_json_to_excel } = require('@/excel/export2Excel') //這裡必須使用絕對路徑,使用@/+存放export2Excel的路徑 18 const tHeader = ['單體名稱', '檢測日期', '所屬專案', '檢測人員', '檢測機構', '地區'] // 匯出的excel的表頭欄位 19 const filterVal = ['name', 'planCheckDate', 'projectName', 'checkWorker', 'companyName', 'regionName'] // 物件屬性,對應於tHeader 20 const list = that.excelData //json陣列物件,介面返回的資料 21 const data = that.formatJson(filterVal, list) 22 export_json_to_excel(tHeader, data, '檢測單體資料')// 匯出的表格名稱 23 }) 24 }, 25 // 格式轉換,直接複製即可 26 formatJson(filterVal, jsonData) { 27 return jsonData.map(v => filterVal.map(j => v[j])) 28 },
測試可用
其他問題暫不清楚,參考來源:https://blog.csdn.net/qq_26242601/article/details/91874261