天天看點

vue 導出excel表格

對于涉及到資料比較多的管理背景導出excel 表格這個需求就非常的常見了

  是以?

    vue 怎麼到處excel表格的?

    有兩種辦法

    1:請求接口背景直接給你的是excel檔案,你需要做的就是怎麼接收excel 表格,

    2:就是請求背景接口給你傳回的json資料,你需要生成excel表格,然後導出來,

    在這裡我講一下第二種辦法

  廢話不說直接教程:

    一:需要安裝依賴:

      npm install -S file-saver xlsx

      npm install -D script-loader

    二:引入兩個js

      Blob.js和 Export2Excel.js。

      可以建立一個檔案夾,放進去   

      

vue 導出excel表格

      Blob.js和 Export2Excel.js檔案:連結: http://pan.baidu.com/s/1nvSdw85 密碼: 5qhi

    三:需要兩個方法

      export2Excel() {

      require.ensure([], () => {

        const { export_json_to_excel } = require('../../vendor/Export2Excel');    ---require 括号裡面是相對路徑其實是引用  Export2Excel.js

        const tHeader = ['序号', 'IMSI', 'MSISDN', '證件号碼', '姓名'];     ----tHeader 數組裡面放的是字段的對應名

        const filterVal = ['ID', 'imsi', 'msisdn', 'address', 'name'];   -----filterVal  字段對應的值

        const list = this.tableData;                                                        ----對應的json數組

        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]))

    }

    四:按鈕導出 調用 export2Excel方法

    

    注:如果webpack報解析錯誤:

      在build----webpack.base.conf.js中resolve的alias加入 'vendor': path.resolve(__dirname, '../src/vendor'),

      即可解決

      alias是配置别名

    還有一個問題:就是

vue 導出excel表格

    上述有個Export2Excel.js它引用了 Blob.js 是以你要把那個 require( )的路徑改成相對路徑;完了再調用方法就可以了如下圖:

vue 導出excel表格

   

      注意:不要忘記引用這兩個js,因為你要用人家的控件就要先引入才能用哦!!在入口檔案main.js或者在元件裡面單獨引用都可以,我是直接在main.js引用的;

vue 導出excel表格

       參考文獻:http://www.cnblogs.com/Mrfan217/p/6944238.html