国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue.js中導(dǎo)出Excel表格的案例分析

2019-11-19 11:21:42
字體:
供稿:網(wǎng)友

有一個項目需求,要求在前端項目中導(dǎo)出Excel表格,經(jīng)過查找代碼,Vue.js確實可以實現(xiàn),具體實現(xiàn)步驟為:

1.安裝依賴

npm install -S file-saver xlsxnpm install -D script-loader

2.導(dǎo)入兩個JS

下載Blob.js和Export2Excel.js,在src目錄下新建Excel文件夾,里面放入Blob.js和Export2Excel.js兩個JS文件

3.在main.js引入這兩個JS文件 **

import Blob from './excel/Blob'import Export2Excel from './excel/Export2Excel.js'

4.在組件中使用

//導(dǎo)出的方法exportExcel() { require.ensure([], () => {  const { export_json_to_excel } = require('../excel/Export2Excel');  const tHeader = ['序號', '昵稱', '姓名'];  // 上面設(shè)置Excel的表格第一行的標題  const filterVal = ['index', 'nickName', 'name'];  // 上面的index、nickName、name是tableData里對象的屬性  const list = this.tableData; //把data里的tableData存到list  const data = this.formatJson(filterVal, list);  export_json_to_excel(tHeader, data, '列表excel'); })},formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => v[j]))}

tHeader是表頭,filterVal 中的數(shù)據(jù)是表格的字段,tableData中存放表格里的數(shù)據(jù),類型為數(shù)組,里面存放對象,表格的每一行為一個對象。

tableData 中的值為:

data () {return { tableData: [  {'index':'0',"nickName": "沙灘擱淺我們的舊時光", "name": "小明"},  {'index':'1',"nickName": "女人天生高貴", "name": "小紅"},  {'index':'2',"nickName": "海是彩色的灰塵", "name": "小蘭"} ]}}

最后實現(xiàn)的效果圖:


如果運行時,報如下所示的錯誤:

這是因為Export2Excel.js的設(shè)置需要改下:


注: 把require('script-loader!vendor/Blob')改為 require('./Blob.js')

項目中實際應(yīng)用案例

/ 導(dǎo)出 */formatJson(filterVal, jsonData) {   // console.log(filterVal,jsonData)    return jsonData.map(v => filterVal.map(j => {       if(j == 'xxdz'){      //..詳細地址        return v.name1 + v.name2 + v.name3 + v.gridName + v.xxdz      }      if(j == 'qyzw'){      //..區(qū)域裝維        return v.name2 + '/' + v.yxCname      }      if(j == 'state'){      //..工單狀態(tài)        return this.config.gzdStateList[v.state]      }      return v[j]    }))  },  ygExcel() {    let params = {}    let queryForm = this.deepClone(this.queryForm)    params.currentPage =1    params.pageSize = this.count    params.queryForm = queryForm    params.prop = this.prop    params.order = this.order    // params.ifExport = true    this.startLoading()    this.$post( "/api/UserController/getList",params, (data) => {     console.log(data)      let tableData =data.list;      // let tableData = data.list;      require.ensure([], () => {        const { export_json_to_excel } = require('../vendor/Export2Excel');        const tHeader = this.config.ygbHeader;//在config中定義表頭        const filterVal = this.config.ygFilterVal;//在config中定義表頭對應(yīng)的字段        const data = this.formatJson(filterVal, tableData);        export_json_to_excel(tHeader, data, '員工詳情表');下載是顯示的表名      })    })  },

總結(jié)

以上所述是小編給大家介紹的vue.js中導(dǎo)出Excel表格的案例分析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 博白县| 原阳县| 壤塘县| 平江县| 纳雍县| 腾冲县| 股票| 定陶县| 华蓥市| 得荣县| 苍溪县| 华池县| 昌宁县| 广东省| 房山区| 永川市| 马尔康县| 贵溪市| 溧阳市| 咸阳市| 勃利县| 葵青区| 浦城县| 凤庆县| 秀山| 滕州市| 科技| 辽中县| 庆安县| 阜城县| 黑水县| 梁山县| 栖霞市| 阿尔山市| 天台县| 泽州县| 永春县| 同心县| 合山市| 吕梁市| 湘乡市|