Vue實現在前端導出Excel

 

之前也看過導出訂單項目,但是一直沒有實現過,最近剛好有需求要做這個功能!

也去網上看了一些博客,參考了2個比較詳細的,最後實現了效果

第一步:安裝依賴(三個步驟缺一不可)

npm install file-saver --save
npm install xlsx --save
npm install script-loader --save-dev

tips:之前少了第三步驟,後面一直報錯,然後重新安裝了依賴,才正常!如果你裝的是淘寶鏡像,那麼把npm換成cnpm即可!

第二步:下載2個js文件:Blob.js和 Export2Excel.js

下載鏈接:https://download.csdn.net/download/liuxiaoxiaosmile/10345153?utm_source=bbsseo

新建vendor,名稱不一定非是vendor,將上面兩個js文件放在vendor目錄中,可以把vendor放在src目錄下

tips:網上很多鏈接裏面點進去下載都要C幣,這個是免費的,但是下載的同時會綁定下載一些應用,到時候卸載即可!也可以自己去網上找免費的文件下載

第三步:更改webpack.base.conf.js配置,根據你自己的實際文件路徑設置,效果如下

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

 第四步:頁面實現

<el-button type="success" @click="exportClick" style="margin: 0 60px 0 20px;">導出訂單</el-button>
js:
exportClick(){
	console.log('導出excel')
  this.loading = true;//緩衝條加載
  //此代碼實現向後臺異步請求數據
	exportMerchantBill(this.billForm).then(response => {    //換成你自己的請求接口,然後再執行this.export2Excel()
     this.loading = false;
     const data = response.data;//聲明常量data用來接收後臺返回的數據data
        this.exportList = data;//將接受到的data數據賦給exportList這個列表,用於當作導出Excel的數據源
        //開始執行導出方法,此方法要放在括號裏面,因爲是異步請求數據,請求完才能執行導出
        this.export2Excel()
    }).catch(error => {
        this.loading = false
        console.log(error)
    })
},
export2Excel() {
  require.ensure([], () => {
	  const { export_json_to_excel } = require('../../vendor/Export2Excel');
	  const tHeader =[ '時間', '店主名稱/手機','類型','詳情','實收金額','消費者名字/手機號', '訂單號'];
        //定義表頭
	  const filterVal =['time', 'storer_info','type_desc','goods_info','money','user_info', 'out_trade_no'];
        //這個是要導入報表的字段,需與表頭對應
	  const list = this.exportList;
	  const data = this.formatJson(filterVal, list);
		export_json_to_excel(tHeader, data, '你的報表名稱'+new Date());
  })
},
formatJson(filterVal, jsonData) {
   return jsonData.map(v => filterVal.map(j => v[j]))
},

做完以上步驟,就全部操作完成,即可實現導出excel表格

參考文檔1:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/83789067

參考文檔2:https://segmentfault.com/a/1190000012117303

 

發佈了32 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章