vue导出Excel组件
生活随笔
收集整理的這篇文章主要介紹了
vue导出Excel组件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
導出Excel組件
任務場景:上傳圖片生成表格(百度api)展示表格內容并可以導出成Excel(前端實現)
前端導出表格為Excel文件,就封裝了一個按鈕可以直接點擊然后導出表格(記錄一下)
效果展示
具體實現 (組件篇)
具體地方使用
<export-table ref="exportTableRef" :columns="columns" :tableData="tableData" :flag="exportTableFlag"><el-button type="primary" @click="createdExcel" style="margin-top: 20px" size="small">生成Excel表格</el-button> </export-table> // 不知道為啥直接父組件直接調用時,子組件的watch監聽不到,所以使用了v-if來讓子組件能夠監聽到數據變化 import exportTable from '@/components/Common/exportTable/exportTable' components: {exportTable }, data () {return {exportTableFlag: false} }, methods: {// 把數據處理成子組件需要的數據 我這兒由于下方加了一個操作按鈕,所以需要把操作按鈕干掉,所以寫了這些邏輯// 點擊之前先隱藏按鈕 然后調用方法前再顯示 頁面上沒有任何消失顯示的效果 createdExcel () {console.log(this.imgTableList)this.exportTableFlag = falsethis.columns = []this.tableData = []let tableObj = {}this.imgTableList.map((item, index) => {if (index === 0) {item.map((item1, index1) => {this.columns.push({title: item1.word,key: item1.column})})} else if (index !== this.imgTableList.length - 1) {item.map((item2, index2) => {tableObj[item2.column] = item2.word})this.tableData.push(tableObj)tableObj = {}}})console.log(this.columns)console.log(this.tableData)this.$nextTick(() => {this.exportTableFlag = true// 調用子組件導出表格方法this.$refs.exportTableRef.exportData()})}, }總結
以上是生活随笔為你收集整理的vue导出Excel组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中的sql语句书写_Java中s
- 下一篇: vue --- 使用vue-route