亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue中導出Excel表格的實現(xiàn)代碼

 更新時間:2018年10月18日 10:03:04   作者:darkerXi  
項目中我們可能會碰到導出Excel文件的需求,這篇文章主要介紹了vue中導出Excel表格的實現(xiàn)代碼,非常具有實用價值,需要的朋友可以參考下

項目中我們可能會碰到導出Excel文件的需求,一般后臺管理系統(tǒng)中居多,將table中展示的數(shù)據(jù)導出保存到本地。當然我們也可以通過一些處理來修改要導出的數(shù)據(jù)格式,具體需求具體對待。

1、首先我們需要安裝3個依賴,file-saver、xlsx和script-loader。

使用npm安裝:

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

使用yarn安裝:

yarn add file-saver xlsx -S
yarn add script-loader -D

2、在/src目錄下新建一個vendor(名字也可自?。┪募A,存入Blob.js和Export2Excel.js文件。
Blob.js和Export2Excel.js文件地址:https://github.com/han6054/export-excel

當然也可以自行下載,或許會有版本的問題吧。

3、在/build/webpack.base.conf.js中新增一行代碼(vendor的名字必須和第二步新建的文件夾名字相同)。

resolve: {
 extensions: ['.js', '.vue', '.json'],
 alias: {
  'vue$': 'vue/dist/vue.esm.js',
  '@': resolve('src'),
  'vendor': path.resolve(__dirname, '../src/vendor') // 新增這一行
 }
}

4、在vue項目中的使用。

/**
 * excel導出
 */
exportTable () {
 // this.DefaultData.exportExcelMax限制一下導出的總條數(shù)
 if (this.totals <= this.DefaultData.exportExcelMax) {
  this.$confirm('確定要導出當前<strong>' + this.totals + '</strong>條數(shù)據(jù)?', '提示', {
   dangerouslyUseHTMLString: true,
   confirmButtonText: '確定',
   cancelButtonText: '取消'
  }).then(() => {
   this.getExpportData()
  }).catch(() => {
  })
 } else {
  this.$confirm('當前要導出的<strong>' + this.totals + '</strong>條數(shù)據(jù),數(shù)據(jù)量過大,不能一次導出!<br/>建議分時間段導出所需數(shù)據(jù)。', '提示', {
   dangerouslyUseHTMLString: true,
   showCancelButton: false
  }).then(() => {
  }).catch(() => {
  })
 }
},

/**
 * 對導出數(shù)據(jù)格式處理
 */
formatJson (filterVal, jsonData) {
 return jsonData.map(v => filterVal.map(j => v[j]))
},

/**
 * 導出的列表數(shù)據(jù)
 */
getExpportData: function () {
 const loading = this.$loading({
  lock: true,
  text: '正在導出,請稍等......',
  spinner: 'el-icon-loading',
  background: 'rgba(0, 0, 0, 0.7)'
 })
 const data = {
  phoneNo: this.formInline.phoneNo,
  userName: this.formInline.userName,
  amount: this.formInline.amount,
  fee: this.formInline.fee,
  currentPage: this.currentPage,
  pageSize: this.DefaultData.exportExcelMax
 }
 // 這里封裝了axios,根據(jù)自身情況修改即可
 this.http(
  this.ApiSetting.orderExport,
  data
 ).then((res) => {
  // handleDataList這里可以對導出的數(shù)據(jù)根據(jù)需求做下處理
  const handleDataList = res.data.list
  for (let i in res.data.list) {
   handleDataList[i].amount = res.data.list[i].amount * 100
   handleDataList[i].fee = res.data.list[i].fee + '%'
  }
  if (res.data.list.length > 0) {
   require.ensure([], () => {
    /* eslint-disable */
    // 這里的徑路要修改正確
    const { export_json_to_excel } = require('../../vendor/Export2Excel')
    /* eslint-enable */
    // 導出的表頭
    const tHeader = ['手機號碼', '用戶姓名', '交易金額', '手續(xù)費']
    // 導出表頭要對應的數(shù)據(jù)
    const filterVal = ['phoneNo', 'userName', 'amount', 'fee']
    // 如果對導出的數(shù)據(jù)沒有可處理的需求,把下面的handleDataList換成res.data.list即可,刪掉上面相應的代碼
    const data = this.formatJson(filterVal, handleDataList)
    // this.DefaultData.formatLongDate.getNow()自己寫的一個獲取當前時間,方便查找導出后的文件。根據(jù)需求自行可處理。
    export_json_to_excel(tHeader, data, '訂單查詢列表-' + this.DefaultData.formatLongDate.getNow())
    this.$message({
     message: '導出成功',
     duration: 2000,
     type: 'success'
    })
   })
  } else {
   this.$message({
    message: '數(shù)據(jù)出錯,請聯(lián)系管理員',
    duration: 2000,
    type: 'warning'
   })
  }
  loading.close()
 }, error => {
  console.log(error)
  loading.close()
 })
}

在需要導出功能的頁面加入上面三個方法,修改好需要注意的事項,導出Excel表格就ok了。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue+elementUI中表格高亮或字體顏色改變操作

    vue+elementUI中表格高亮或字體顏色改變操作

    這篇文章主要介紹了vue+elementUI中表格高亮或字體顏色改變操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用vue-cli創(chuàng)建vue項目介紹

    使用vue-cli創(chuàng)建vue項目介紹

    這篇文章介紹了使用vue-cli創(chuàng)建vue項目的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-01-01
  • vue3 el-upload單張圖片回顯、編輯、刪除功能實現(xiàn)

    vue3 el-upload單張圖片回顯、編輯、刪除功能實現(xiàn)

    這篇文章主要介紹了vue3 el-upload單張圖片回顯、編輯、刪除功能實現(xiàn),圖片回顯時隱藏上傳區(qū)域,鼠標懸浮顯示遮罩層進行編輯、刪除操作,刪除圖片后顯示上傳區(qū)域,本文通過實例代碼分享實現(xiàn)方法,感興趣的朋友一起看看吧
    2023-12-12
  • Element ui table表格內(nèi)容超出隱藏顯示省略號問題

    Element ui table表格內(nèi)容超出隱藏顯示省略號問題

    這篇文章主要介紹了Element ui table表格內(nèi)容超出隱藏顯示省略號問題,具有很好的參考價值,希望對大家有所幫助,
    2023-11-11
  • Ant Design編寫登錄和注冊頁面的教程

    Ant Design編寫登錄和注冊頁面的教程

    這篇文章主要介紹了Ant Design編寫登錄和注冊頁面的教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue3封裝全局函數(shù)式組件方法總結(jié)

    Vue3封裝全局函數(shù)式組件方法總結(jié)

    函數(shù)式組件就是沒有管理任何狀態(tài),也沒有監(jiān)聽任何傳遞給它的狀態(tài),也沒有生命周期方法,它只是一個接受一些 prop 的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Vue3封裝全局函數(shù)式組件方法的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • vue之使用vuex進行狀態(tài)管理詳解

    vue之使用vuex進行狀態(tài)管理詳解

    這篇文章主要介紹了vue之使用vuex進行狀態(tài)管理詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue el-table組件如何實現(xiàn)將日期格式化

    Vue el-table組件如何實現(xiàn)將日期格式化

    這篇文章主要介紹了Vue el-table組件如何實現(xiàn)將日期格式化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue實現(xiàn)商品加減計算總價的實例代碼

    vue實現(xiàn)商品加減計算總價的實例代碼

    這篇文章主要介紹了vue實現(xiàn)商品加減計算總價的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • ElementUI對table的指定列進行合算

    ElementUI對table的指定列進行合算

    本文主要介紹了ElementUI對table的指定列進行合算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03

最新評論