日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Vue通過Blob對象實現(xiàn)導(dǎo)出Excel功能示例代碼

瀏覽:187日期:2022-06-11 17:20:36

不同的項目有不同的導(dǎo)出需求,有些只導(dǎo)出當(dāng)前所顯示結(jié)果頁面的表格進(jìn)入excel,這個時候就有很多插件,比如vue-json-excel或者是Blob.js+Export2Excel.js來實現(xiàn)導(dǎo)出Excel功能。但是有些需求因為數(shù)據(jù)量太大,成千上萬條數(shù)據(jù),所以是需要后端拼接,然后輸出二進(jìn)制流文件,然后前端直接下載,這次我們談?wù)労笳叩淖龇ā?/p>

Blob對象表示一個不可變、原始數(shù)據(jù)的類文件對象,通常我也叫它二進(jìn)制流對象。我們可以通過Blob對象實現(xiàn)導(dǎo)出Excel功能,先放上代碼:

<el-button @click='exportExcel()'>導(dǎo)出</el-button><script>methods: { exportExcel(){ var params={ XX:xx//額外需要攜帶的請求體 } this.$axios.get(’/XX/XX’,{ params: params, responseType: ’blob’ //首先設(shè)置responseType字段格式為 blob }).then(res => { console.log(res); let blob = new Blob([res], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'}); // 為blob設(shè)置文件類型,這里以.xlsx為例 let url = window.URL.createObjectURL(blob); // 創(chuàng)建一個臨時的url指向blob對象 let a = document.createElement('a'); a.href = url; a.click(); // 釋放這個臨時的對象url window.URL.revokeObjectURL(url); }); }, }</script>

’responseType’表示的是服務(wù)器響應(yīng)的數(shù)據(jù)類型,可以是’arrayBuffer’、’blob’、’document’、’json’、’txt’、’stream’,默認(rèn)為json。axios官方文檔地址:https://www.kancloud.cn/yunye/axios/234845(axios請求配置章節(jié))。

所以我們接收后臺傳給前端的二進(jìn)制流之前需要先設(shè)置responseType為blob,否則默認(rèn)會以json獲取,下載下來的文件打開會提示文件已損壞。控制臺輸出的可以看到是個正確的Blob對象,這就說明我們的配置是對的,如圖1所示。

Vue通過Blob對象實現(xiàn)導(dǎo)出Excel功能示例代碼

圖1 控制臺輸出的Blob對象

后端最好也要配置response頭的content-type為對應(yīng)的類型,所圖2所示。

Vue通過Blob對象實現(xiàn)導(dǎo)出Excel功能示例代碼

圖2 后端設(shè)置了響應(yīng)頭相對應(yīng)的content-type

然后,需要給這個Blob對象設(shè)置一個type,這個type表明改Blob對象所包含數(shù)據(jù)的MIME類型。如果類型未知,則該值為空字符串。這里給出幾個常用文件格式的MIME類型:(詳細(xì)的可參考WebAPI官方文檔:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types)

擴(kuò)展名----------MIME類型

.csv--------------text/csv

.jpeg/.jpg-------image/jpeg

.png-------------image/png

.rar--------------application/x-rar-compressed

.doc-------------application/msword

.docx-----------application/vnd.openxmlformats-officedocument.wordprocessingml.document

.xls--------------application/vnd.ms-excel

.xlsx------------application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

.zip--------------application/zip

在正常的導(dǎo)出請求之后可以看到又發(fā)了一個新的blob請求,其本質(zhì)是到這個地址下載文件,如圖3所示:

Vue通過Blob對象實現(xiàn)導(dǎo)出Excel功能示例代碼

圖3 創(chuàng)建一個臨時的url指向blob對象

一般來說,這樣就可以實現(xiàn)下載的功能了。

這里提點題外話,谷歌瀏覽器下載設(shè)置默認(rèn)為瀏覽器下載默認(rèn)路徑,也就不會彈出文件框,谷歌瀏覽器下載文件框如圖4所示,也就沒有了所謂的自定義保存路徑和自定義文件名,如圖5所示,在瀏覽器底部會有下載提示。

Vue通過Blob對象實現(xiàn)導(dǎo)出Excel功能示例代碼

圖4谷歌瀏覽器下載文件框

Vue通過Blob對象實現(xiàn)導(dǎo)出Excel功能示例代碼

圖5 谷歌瀏覽器下載會在屏幕底部顯示

如果想要有下載文件框,請在設(shè)置->高級->下載內(nèi)容->下載前詢問每個文件的保存位置中設(shè)置為啟用。

總結(jié)

到此這篇關(guān)于Vue通過Blob對象實現(xiàn)導(dǎo)出Excel功能的文章就介紹到這了,更多相關(guān)vue 通過blob對象導(dǎo)出excel內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: excel
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本欧美一区二区| 69堂精品视频在线播放| 国产精品分类| 老色鬼精品视频在线观看播放| 免费看黄色91| 蜜桃传媒麻豆第一区在线观看| 视频一区视频二区中文字幕| 首页欧美精品中文字幕| 日韩精品一区二区三区中文在线 | 国产精品三级| 嫩呦国产一区二区三区av| 国产黄色一区| 日本欧美不卡| 亚洲一区亚洲| 91九色综合| 日韩欧美网址| 亚洲一区观看| 国产精品九九| 欧美亚洲国产精品久久| 在线观看一区| 精品三级国产| 日本大胆欧美人术艺术动态| 国产精品一区二区三区av| 91精品韩国| 日韩精品一级二级| 麻豆国产欧美一区二区三区| 99久久精品网站| 日韩不卡一二三区| 四虎4545www国产精品 | 国产不卡精品| 尹人成人综合网| 欧美日本不卡| 亚洲成人国产| 国产午夜精品一区在线观看| 99成人在线视频| 青青伊人久久| 国精品一区二区三区| 国产日产高清欧美一区二区三区| 人人精品亚洲| 一本综合精品| 蜜桃精品在线| 国产精品香蕉| 石原莉奈一区二区三区在线观看| 久久69成人| 石原莉奈在线亚洲三区| 日韩欧美二区| 国产日产一区| 欧美综合另类| 成人高清一区| 综合视频一区| 久久久久国产一区二区| 麻豆国产欧美一区二区三区| 亚洲综合欧美| 人人精品亚洲| 欧美成人精品一级| 日韩三级精品| 久久一二三区| 香蕉国产精品| 韩国三级一区| 水蜜桃精品av一区二区| 国产精品美女在线观看直播| 亚洲精选av| 日韩一级网站| 在线成人动漫av| 福利在线一区| 国产伦理久久久久久妇女| 午夜一级在线看亚洲| 99精品视频在线观看免费播放| 国产一区丝袜| 国产欧美激情| 国产日韩亚洲欧美精品| 午夜精品影视国产一区在线麻豆| 欧美另类综合| 亚洲美洲欧洲综合国产一区| 亚洲大片在线| 日韩不卡免费高清视频| 国产精品精品| 精品网站999| 欧美激情一区| 欧美天堂一区二区| 7m精品国产导航在线| 日本中文字幕一区二区视频 | 成人欧美一区二区三区的电影| 国产日产精品_国产精品毛片| 亚洲va久久久噜噜噜久久| 亚洲一区日韩在线| 中文国产一区| 亚洲欧美日韩综合国产aⅴ| 亚洲性图久久| 亚洲精品一区二区妖精| 在线成人直播| 老鸭窝亚洲一区二区三区| 蜜臀精品一区二区三区在线观看 | 另类中文字幕国产精品| 亚洲伦乱视频| 九色porny丨国产首页在线| 蜜臀国产一区| 91精品啪在线观看国产18| 波多野结衣一区| av不卡在线看| 香蕉久久一区| 国产精品成人**免费视频| 国产精品99精品一区二区三区∴ | 国产一区二区三区91| 国产精品中文| 久久精品三级| 国产麻豆久久| 国产毛片久久| 日韩黄色在线观看| 欧美激情五月| 午夜av不卡| 宅男在线一区| 日韩精品三级| 国产精品久久久久久久久久白浆| 成人在线免费观看网站| 亚洲91久久| 中文字幕一区二区av| 国产精品手机在线播放| 日韩不卡一区| 91久久午夜| 日韩av一区二区在线影视| 欧美91在线| 99久久九九| 日韩高清欧美激情| 精品国产乱码久久久久久1区2匹| 亚洲播播91| 免费成人av在线播放| 国产欧美亚洲一区| sm久久捆绑调教精品一区| 中文一区在线| 欧美aa在线视频| 久久精品国产亚洲夜色av网站| 在线精品亚洲| 韩日一区二区| 欧美中文字幕| 久久免费视频66| 婷婷六月综合| 欧美另类中文字幕| 久久久久国产精品一区三寸| 深夜福利一区| 国产亚洲一区二区手机在线观看| 亚洲深深色噜噜狠狠爱网站 | 国产一区二区中文| 国产欧美在线观看免费| 成人日韩精品| 欧美日本久久| 91成人超碰| 久久精品二区亚洲w码| 激情婷婷综合| 国产精品主播在线观看| 欧美日韩视频一区二区三区| 麻豆精品视频在线| 日韩影院在线观看| 精品久久在线| 亚洲精品美女| 色老板在线视频一区二区| 青草综合视频| 国产精品日本| 电影亚洲精品噜噜在线观看| 久久激情五月婷婷| 黄色成人在线网址| 国产成人精品一区二区三区视频| 深夜福利一区| 婷婷综合亚洲| 久久影院午夜精品| 国产欧美久久一区二区三区| 国产亚洲一级| 91精品亚洲| 精品三级在线| 88久久精品| 在线精品观看| 激情综合网站| 日韩一区三区| 国产一区丝袜| 国产精品xvideos88| 亚洲精品护士| 蜜芽一区二区三区| 亚洲免费黄色| 亚洲国产一区二区三区在线播放| 中文在线а√在线8| 精品免费av| 欧美激情91| 国产精品久久久久9999高清| 综合亚洲视频| 亚洲欧美久久久| 欧美高清一区| 久久精品播放| 婷婷激情久久| 99视频精品视频高清免费| 久久久久久色| 免费日本视频一区| 在线综合亚洲| 亚洲欧美日韩视频二区| 亚洲精品一二三区区别| 久久婷婷av| 九一精品国产| 一区在线观看| 久久性天堂网| 久久午夜精品| 亚洲天堂日韩在线|