<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Vue如何把excel表格導出使用

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 19:49:34
        文檔

        Vue如何把excel表格導出使用

        Vue如何把excel表格導出使用:這次給大家?guī)鞻ue如何把excel表格導出使用,Vue把excel表格導出使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。引言:最近使用vue在做一個后臺系統(tǒng),技術棧 vue + iView ,在頁面中生成表格后, iView可以實現(xiàn)表格的導出,不過只能導出csv格式的
        推薦度:
        導讀Vue如何把excel表格導出使用:這次給大家?guī)鞻ue如何把excel表格導出使用,Vue把excel表格導出使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。引言:最近使用vue在做一個后臺系統(tǒng),技術棧 vue + iView ,在頁面中生成表格后, iView可以實現(xiàn)表格的導出,不過只能導出csv格式的

        這次給大家?guī)鞻ue如何把excel表格導出使用,Vue把excel表格導出使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

        引言:

        最近使用vue在做一個后臺系統(tǒng),技術棧 vue + iView ,在頁面中生成表格后, iView可以實現(xiàn)表格的導出,不過只能導出csv格式的,并不適合項目需求。

        如果想要導出Excel

      1. 在src目錄下創(chuàng)建一個文件(vendor)進入 Blob.js 和 Export2Excel.js

      2. npm install -S file-saver 用來生成文件的web應用程序

      3. npm install -S xlsx 電子表格格式的解析器

      4. npm install -D script-loader 將js掛在在全局下

      5. 表結(jié)構(gòu)

        渲染頁面中的表結(jié)構(gòu)是由 columns 列 和 tableData 行,來渲染的 columns 為表頭數(shù)據(jù) tableData 為表實體內(nèi)容

        columns1: [
         {
         title: '序號',
         key: 'serNum'
         },
         {
         title: '選擇',
         key: 'choose',
         align: 'center',
         render: (h, params) => {
         if (params.row.status !== '1' && params.row.status !== '2') {
         return h('p', [
         h('checkbox', {
         props: {
         type: 'selection'
         },
         on: {
         'input': (val) => {
         console.log(val)
         }
         }
         })
         ])
         } else {
         return h('span', {
         style: {
         color: '#587dde',
         cursor: 'pointer'
         },
         on: {
         click: () => {
         // this.$router.push({name: '', query: { id: params.row.id }})
         }
         }
         }, '查看訂單')
         }
         }
         },
         ...
         ],

        tableData 就不寫了,具體數(shù)據(jù)結(jié)構(gòu)查看iViewAPI

        在build 目錄下 webpack.base.conf.js 配置 我們要加載時的路徑

        alias: {
         'src': path.resolve(dirname, '../src'),
         }

        在當前頁面中引入依賴

        require('script-loader!file-saver')
         // 轉(zhuǎn)二進制用
         require('script-loader!src/vendor/Blob')
         // xlsx核心
         require('script-loader!xlsx/dist/xlsx.core.min')

        當我們要導出表格執(zhí)行 @click 事件調(diào)用 handleDownload 函數(shù)

        handleDownload() {
         this.downloadLoading = true
         require.ensure([], () => {
         const {export_json_to_excel} = require('src/vendor/Export2Excel')
         const tHeader = Util.cutValue(this.columns1, 'title')
         const filterVal = Util.cutValue(this.columns1, 'key')
         const list = this.tableData1
         const data = this.formatJson(filterVal, list)
         export_json_to_excel(tHeader, data, '列表excel')
         this.downloadLoading = false
         })
         },
         formatJson(filterVal, jsonData) {
         return jsonData.map(v => filterVal.map(j => v[j]))
         }

        Util.cutValue 是公共方法,目的是為了將,tHeader 和filterVal 的值轉(zhuǎn)成數(shù)組從而生成表格

        ### Util module
        // 截取value值
        utils.cutValue = function (target, name) {
         let arr = []
         for (let i = 0; i < target.length; i++) {
         arr.push(target[i][name])
         }
         return arr
        }

        Export2Excel.js/Blob.js 的代碼

        下面再看下vue中excel表格的導入和導出

        注意:vue中要實現(xiàn)表格的導入與導出,首先要install兩個依賴,

        npm install -S file-saver xlsx npm install -D script-loader。其次,在項目src目錄下新建一個文件夾vendor(名字隨意),在此文件夾下放置兩個文件Blob.js和Export2Excal.js(下載地址:http://files.cnblogs.com/files/wangyunhui/vendor.rar)。之后就可以愉快的導入導出了微笑。

        1、導入

        1.<input id="upload" type="file" @change="importfxx(this)" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" /> 
        importfxx(obj) { 
        let _this = this; 
        console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxx1"); 
        let inputDOM = this.$refs.inputer; 
        // 通過DOM取文件數(shù)據(jù) 
        this.file = event.currentTarget.files[0]; 
        var rABS = false; //是否將文件讀取為二進制字符串 
        var f = this.file; 
        var reader = new FileReader(); 
        //if (!FileReader.prototype.readAsBinaryString) { 
        FileReader.prototype.readAsBinaryString = function(f) { 
        var binary = ""; 
        var rABS = false; //是否將文件讀取為二進制字符串 
        var pt = this; 
        var wb; //讀取完成的數(shù)據(jù) 
        var outdata; 
        var reader = new FileReader(); 
        reader.onload = function(e) { 
        var bytes = new Uint8Array(reader.result); 
        var length = bytes.byteLength; 
        for(var i = 0; i < length; i++) { 
        binary += String.fromCharCode(bytes[i]); 
        } 
        var XLSX = require('xlsx'); 
        if(rABS) { 
        wb = XLSX.read(btoa(fixdata(binary)), { //手動轉(zhuǎn)化 
        type: 'base64' 
        }); 
        } else { 
        wb = XLSX.read(binary, { 
        type: 'binary' 
        }); 
        } 
        outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);//outdata就是你想要的東西 
        } 
        reader.readAsArrayBuffer(f); 
        } 
        if(rABS) { 
        reader.readAsArrayBuffer(f); 
        } else { 
        reader.readAsBinaryString(f); 
        } 
        }

        2.導出

        inportexcel: function() { //兼容ie10哦! 
        require.ensure([], () => {         
        const { export_json_to_excel } = require('../../vendor/Export2Excel');  //引入文件       
        const tHeader = ['用戶名', '姓名', '部門', '職位', '郵箱', '充值']; //將對應的屬性名轉(zhuǎn)換成中文 
        // const tHeader = []; 
                 
        const filterVal = ['userName', 'realName', 'department', 'position', 'email', 'money'];//table表格中對應的屬性名          
        const list = this.sels;         
        const data = this.formatJson(filterVal, list);         
        export_json_to_excel(tHeader, data, '列表excel');       
        }) 
        }

        相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關注Gxl網(wǎng)其它相關文章!

        推薦閱讀:

        js中存儲鍵值對使用詳解

        vue實現(xiàn)圖片與文件上傳步驟詳解

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Vue如何把excel表格導出使用

        Vue如何把excel表格導出使用:這次給大家?guī)鞻ue如何把excel表格導出使用,Vue把excel表格導出使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。引言:最近使用vue在做一個后臺系統(tǒng),技術棧 vue + iView ,在頁面中生成表格后, iView可以實現(xiàn)表格的導出,不過只能導出csv格式的
        推薦度:
        標簽: 表格 導出 excel
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产午夜精品免费一区二区三区 | 精品亚洲综合在线第一区| 亚洲色大成网站www尤物| 美女被免费喷白浆视频| 亚洲欧洲校园自拍都市| 131美女爱做免费毛片| 亚洲成a人片在线观看中文app| 日韩视频在线精品视频免费观看| 亚洲激情电影在线| 成年大片免费视频| 男女猛烈xx00免费视频试看| 亚洲第一区在线观看| 免费高清A级毛片在线播放| 又粗又黄又猛又爽大片免费 | 最近2019中文免费字幕在线观看| 国产亚洲AV手机在线观看| 久久久精品视频免费观看 | 亚洲免费在线视频观看| 成人免费观看一区二区| 亚洲丰满熟女一区二区哦| 亚洲高清成人一区二区三区| 中文字幕乱码系列免费| 久久噜噜噜久久亚洲va久| 在线观看免费高清视频| 污网站在线观看免费| 亚洲日韩精品一区二区三区无码 | 青青青免费国产在线视频小草| 亚洲色图校园春色| 色妞WWW精品免费视频| 亚洲人成欧美中文字幕| 免费一级毛片免费播放| 黄色短视频免费看| 狠狠色婷婷狠狠狠亚洲综合 | 一级毛片无遮挡免费全部| 久久夜色精品国产亚洲av| 日韩精品在线免费观看| 亚洲一区在线视频观看| 国产精品公开免费视频| 国产精品福利在线观看免费不卡| 在线日韩日本国产亚洲| 无人在线观看免费高清|