国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地

這篇具有很好參考價(jià)值的文章主要介紹了JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

最近開發(fā)頁(yè)面用到了導(dǎo)出功能,之前也沒有做導(dǎo)出為excel功能的經(jīng)驗(yàn),經(jīng)過各方面查詢嘗試之后,終于成功實(shí)現(xiàn),所以來總結(jié)一下

  1. 首先,你需要下載xlsx.js插件,并在HTML頭部文件中需要引入,我是直接用命令行下載的:npm install xlsx --save

JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地
  1. 前端寫一個(gè)按鈕綁定函數(shù):

<button @click="generateReport(0)">導(dǎo)出</button>
  1. js部分實(shí)現(xiàn)函數(shù),因?yàn)槲业臄?shù)據(jù)是通過ajax從后端獲取的,沒有后端數(shù)據(jù)就自己編造一個(gè),代替我代碼中的this.ExcelData,或者不需要this.ExcelData,直接把return里面的內(nèi)容改成你需要的,比如:你想要的表格列名1:你想要的數(shù)據(jù)1,

你想要的表格列名2:你想要的數(shù)據(jù)2 這樣

//報(bào)表導(dǎo)出
        generateReport:function(no){
            $.ajax({
                url: '/generateReport',
                type: 'POST',
                context: this,
                data: {
                    'FLAG':no
                }
            }).done(function (data){
                console.log('opqrst',data);
                this.ExcelData = _.cloneDeep(data);
                let arr=this.ExcelData.map(item=>{
                    return {
                        陣列名稱:item.SUBARRY_NAME,
                        通訊箱名稱:item.COMMUNICATION_BOX_NAME,
                        通訊箱狀態(tài):item.COMMUNICATION_BOX_STATE,
                        跟蹤器名稱:item.TRACKER_NAME,
                        跟蹤器狀態(tài):item.TRACKER_STATE,
                        跟蹤模式:item.TRACKING_MODEL,
                        目標(biāo)角度:item.TARGET_ANGLE,
                        實(shí)際角度:item.MEASURED_ANGLE,
                    };
                });
                console.log('version',XLSX.version);
                let sheet=XLSX.utils.json_to_sheet(arr),
                    book=XLSX.utils.book_new();
                // sheet1表示要導(dǎo)出的分區(qū)名字
                XLSX.utils.book_append_sheet(book,sheet,"sheet1");
                console.log("book",book)
                // user開頭加時(shí)間戳的文件名,可以修改成其它名字
                XLSX.writeFile(book,`設(shè)備列表${(new Date()).getTime()}.xls`);
            })
        },
  1. 成功后測(cè)試導(dǎo)出:

JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地

打開瀏覽器的下載內(nèi)容就可以查看表格:

JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地

打開xls文件,可以看到excel文件導(dǎo)出下載成功了:

JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地

提示:開發(fā)過程中遇到了一個(gè)報(bào)錯(cuò):

XLSX.utils.json_to_sheet is not a function ,據(jù)說可能是因?yàn)?xlsx 版本問題導(dǎo)致的,所以在在調(diào)用 XLSX.utils.json_to_sheet() 方法前我控制臺(tái)輸出了自己的xlsx的版本號(hào)

console.log(XLSX.version)

百度說 0.8.8 以下版本不支持 json_to_sheet() 方法,但是我是0.8.11,不知道為啥也不支持,所以我又把原來的插件刪掉了,重新下載最新版:npm install xlsx@0.14.5 --save,就ok了文章來源地址http://www.zghlxwxcb.cn/news/detail-459292.html

到了這里,關(guān)于JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包