在Vue中實(shí)現(xiàn)Excel導(dǎo)出功能(數(shù)據(jù)導(dǎo)出)
前端導(dǎo)出excel
導(dǎo)出Excel文件的方式多種多樣,可以前端導(dǎo)出,也可以后端導(dǎo)出,本文來分享一下如何在前端導(dǎo)出excel文件。以下幾點(diǎn)是前端導(dǎo)出Excel文件的好處:
- 即時(shí)性與便捷性:用戶可以在需要時(shí)立即導(dǎo)出當(dāng)前頁面或視圖中的數(shù)據(jù),無需等待后端處理,提高了操作的即時(shí)性和便捷性。
- 靈活性與定制化:前端導(dǎo)出允許開發(fā)者根據(jù)用戶需求定制Excel文件的格式、內(nèi)容和樣式,提供高度靈活性和個(gè)性化服務(wù)。
- 減輕服務(wù)器負(fù)擔(dān):數(shù)據(jù)處理和文件生成的工作在前端完成,減少了后端服務(wù)器的負(fù)擔(dān),提高了系統(tǒng)整體性能和響應(yīng)速度。
安裝依賴 ExcelJS
ExcelJS是一個(gè)用于在JavaScript中創(chuàng)建和操作Excel文件的庫。它支持讀取、編輯和生成Excel文件,ExcelJS的主要特點(diǎn)包括:
- 創(chuàng)建和編輯工作簿:可以創(chuàng)建新的Excel工作簿或編輯現(xiàn)有的工作簿。
- 支持格式化:可以設(shè)置單元格的格式,包括字體、邊框、填充顏色等。
- 操作數(shù)據(jù):可以在單元格中讀寫數(shù)據(jù),包括文本、數(shù)字和日期。
- 支持多種Excel特性:包括合并單元格、添加圖表和插入圖片等。
- 無依賴:ExcelJS是純JavaScript實(shí)現(xiàn),不依賴于其他庫,因此可以在瀏覽器和Node.js環(huán)境中使用。
FileSaver.js
FileSaver.js是一個(gè)適用于Web應(yīng)用的客戶端文件保存解決方案,它實(shí)現(xiàn)了HTML5的saveAs()
接口,使得Web應(yīng)用能夠在客戶端生成文件并觸發(fā)下載,而無需將文件發(fā)送到服務(wù)器。主要功能:
- 保存文件:FileSaver.js允許開發(fā)者在客戶端創(chuàng)建Blob(二進(jìn)制大對(duì)象)或File對(duì)象,并使用
saveAs()
方法將其保存為本地文件。 - 跨瀏覽器兼容:它提供了跨瀏覽器的兼容性,包括處理不同瀏覽器對(duì)Blob和
saveAs()
方法的支持差異。 - 自定義文件名:在保存文件時(shí),開發(fā)者可以指定文件名,以滿足用戶的個(gè)性化需求。
安裝依賴庫:
npm install exceljs npm install file-saver
ExcelJS基本使用 新建一個(gè)excel工作簿
const workbook = new ExcelJS.Workbook();
工作簿中新建一張工作表
const sheet = workbook.addWorksheet('Sheet1');
工作表中新增一行
worksheet.addRow({id: 1, name: 'yuan'})
更多可以參考官方文檔:https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md
導(dǎo)出excel
現(xiàn)在來測試下:
exportExcel() { // 創(chuàng)建工作簿 const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet("My Sheet"); // 添加列標(biāo)題 worksheet.columns = [ { header: "姓名", key: "name", width: 30 }, { header: "年齡", key: "age", width: 10 }, { header: "城市", key: "city", width: 20 }, ]; // 添加數(shù)據(jù) worksheet.addRow({ name: "張三", age: 25, city: "北京" }); worksheet.addRow({ name: "李四", age: 30, city: "上海" }); // 寫入buffer,導(dǎo)出Excel文件 workbook.xlsx.writeBuffer().then((buffer) => { FileSaver.saveAs( new Blob([buffer], { type: "application/octet-stream" }), "表格.xlsx" ); }); },
效果:
到此這篇關(guān)于在Vue中實(shí)現(xiàn)Excel導(dǎo)出功能(數(shù)據(jù)導(dǎo)出)的文章就介紹到這了,更多相關(guān)vue excel導(dǎo)出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用 Vue cli 3.0 構(gòu)建自定義組件庫的方法
本文旨在給大家提供一種構(gòu)建一個(gè)完整 UI 庫腳手架的思路。通過實(shí)例代碼給大家講解了使用 Vue cli 3.0 構(gòu)建自定義組件庫的方法,感興趣的朋友跟隨小編一起看看吧2019-04-04解決VMware中vmware-vmx.exe進(jìn)程無法關(guān)閉以及死機(jī)等問題
這篇文章主要介紹了解決VMware中vmware-vmx.exe進(jìn)程無法關(guān)閉以及死機(jī)等問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06vue使用axios?post發(fā)送json數(shù)據(jù)跨域請(qǐng)求403的解決方案
這篇文章主要介紹了vue使用axios?post發(fā)送json數(shù)據(jù)跨域請(qǐng)求403的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12ElementUI中el-input無法輸入、修改及刪除問題解決辦法
這篇文章主要給大家介紹了關(guān)于ElementUI中el-input無法輸入、修改及刪除問題的解決辦法,這種問題產(chǎn)生是因?yàn)閕nput在vue中的受控,我們需要去重新改變一下監(jiān)聽和實(shí)現(xiàn),需要的朋友可以參考下2023-11-11vue中選中多個(gè)選項(xiàng)并且改變選中的樣式的實(shí)例代碼
這篇文章主要介紹了vue中選中多個(gè)選項(xiàng)并且改變選中的樣式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Vue3實(shí)現(xiàn)pdf在線預(yù)覽的三種方式
這篇文章主要為大家詳細(xì)介紹了使用Vue3實(shí)現(xiàn)pdf在線預(yù)覽的三種常用方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02