雲計算之VUE-Django開發——數據導出到Excel表

項目開發需要用到VUE框架,還要將數據導出到Excel表中,之前使用ExcelGen框架,現在整合到VUE中後無法使用,顧切換以下VUE框架來實現生產需求。

1、安裝3個依賴包並導入2個js包:

cnpm install -S file-saver xlsx(這裏其實安裝了2個依賴)
cnpm install -D script-loader

2、在src目錄下新建一個excel文件夾引入Blob.js和expor2Excal.js:

3、在main.js中全局引入: 

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

4、webpack.base.conf.js做如下修改:

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'scss_vars': '@/styles/vars.scss',
      'excel': path.resolve(__dirname, '../src/excel'),//新增加一行
    }
  },

5、在頁面中導出的時候調用outExe:

... ...
methods:{
            outExe:function(env) {
                var y = confirm('此操作將導出excel文件, 是否繼續?', '提示', {
                    confirmButtonText: '確定',
                    cancelButtonText: '取消',
                    type: 'warning'
                });
                if(y){
                    this.excelData = this.gray_version['deploys']; //你要導出的數據list。
                    this.export2Excel(env)
                }
            },
            export2Excel:function(env) {
                var that = this;
                require.ensure([], () => {
                    const { export_json_to_excel } = require('../../excel/Export2Excel'); //這裏必須使用絕對路徑
                    const tHeader = ['編號',	'所屬中心',	'服務名稱',	'當前版本',	'主機組',	'更新時間',	'環境']; // 導出的表頭名
                    const filterVal = ['v_id',	'v_gps',	'v_proj',	'v_tag',	'v_hosts',	'v_time',	'v_env']; // 導出的表頭字段名
                    const list = that.excelData;
                    const data = that.formatJson(filterVal, list);
                    export_json_to_excel(tHeader, data, `${env}-服務基線數據`);// 導出的表格名稱,根據需要自己命名
                })
            },
            formatJson:function(filterVal, jsonData) {
                return jsonData.map(v => filterVal.map(j => v[j]))
            },
            ... ...
}
... ...

6、結果驗證

# cnpm run dev

 DONE  Compiled successfully in 1041ms   3:16:25 PM
 I  Your application is running here: http://192.168.89.133:81


點擊按鈕導出數據成功

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章