日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue3+TypeScript实现导出Excel功能

發布時間:2024/3/13 vue 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue3+TypeScript实现导出Excel功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇博客👉鏈接在這,我們使用vue3+ts實現了導入的功能,接下來,還是使用同一個組件(element-plus上傳組件)來實現導出,在上篇博客中,我們在使用這個組件的同時寫了一個下載模板的功能,接下來,這篇博客,我們就幫助大家完善下載模板的功能以及實現導出的功能。??????

一、效果展示


我們通過兩個按鈕來實現導入導出功能、具體模板的樣式如下
具體樣式,請參考上篇博客

二、模板下載

<el-buttonclass="excel-btn"size="small"type="primary"icon="download"@click="downloadTemplate('導入用戶模板文件.xlsx')">點擊下載</el-button> //接口文件 export const downloadTemplate = fileName =>{return service({url: 'XXXX',method: 'post',params: {fileName: fileName,},responseType: 'blob',}).then(res => {handleFileError(res, fileName);}); }const handleFileError = (res, fileName) => {if (typeof res.data !== 'undefined') {if (res.data.type === 'application/json') {const reader = new FileReader();reader.onload = function () {const message = JSON.parse(reader.result).msg;ElMessage({showClose: true,message: message,type: 'error',});};reader.readAsText(new Blob([res.data]));}} else {var downloadUrl = window.URL.createObjectURL(new Blob([res]));var a = document.createElement('a');a.style.display = 'none';a.href = downloadUrl;a.download = fileName;var event = new MouseEvent('click');a.dispatchEvent(event);} };

以上就是下載模板的功能實現

導出文件

<el-buttonclass="excel-btn"size="small"icon="download"@click="handleExcelExport('用戶列表.xlsx')">導出</el-button> const tableData = ref([]); const handleExcelExport = fileName => {if (!fileName || typeof fileName !== 'string') {fileName = 'ExcelExport.xlsx';}exportExcel(tableData.value, fileName); };//接口export const exportExcel = (tableData, fileName) => {return service({url: 'XXX',method: 'post',data: {fileName: fileName,infoList: tableData,},responseType: 'blob',}).then(res => {handleFileError(res, fileName);}); }; const handleFileError = (res, fileName) => {if (typeof res.data !== 'undefined') {if (res.data.type === 'application/json') {const reader = new FileReader();reader.onload = function () {const message = JSON.parse(reader.result).msg;ElMessage({showClose: true,message: message,type: 'error',});};reader.readAsText(new Blob([res.data]));}} else {var downloadUrl = window.URL.createObjectURL(new Blob([res]));var a = document.createElement('a');a.style.display = 'none';a.href = downloadUrl;a.download = fileName;var event = new MouseEvent('click');a.dispatchEvent(event);} };

這樣我們就實現了導出功能,同時很多時候我們可能會遇到按需導出的需求,這是,我們只需要在接口中傳遞相應的參數即可。

總結

以上是生活随笔為你收集整理的vue3+TypeScript实现导出Excel功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。