vue項(xiàng)目預(yù)覽excel表格功能(file-viewer插件)
file-viewer的插件github地址如下
場(chǎng)景
我沒(méi)有直接使用file-viewer,是按照網(wǎng)上搜來(lái)的方法,只使用了file-viewer的預(yù)覽xlsx的功能,它里面還有預(yù)覽ppt,pdf,圖片等功能。
第一步:安裝相關(guān)依賴(lài)包(exceljs,)
npm install exceljs --save npm install '@handsontable/vue' --save npm install handsontable --save npm install 'handsontable/i18n' --save //這個(gè)依賴(lài)我沒(méi)有下成功,不過(guò)也能正常運(yùn)行
第二步:新建一個(gè)xlsxView的文件夾,將file-viewer里相關(guān)預(yù)覽xlsx的代碼放進(jìn)去。
第三步:新窗口打開(kāi),在預(yù)覽組件里引入并寫(xiě)邏輯 html部分
<template> <div> <div v-if="fileType === 'xlsx'" ref="output" /> <div v-if="fileType === 'pptx'" ref="pptRef"></div> </div> </template>
js部分
import renderSheet from '../xlsxView'; // 引入 // mounted生命周期 mounted() { // 從路由地址中獲取fileUrl,fileType this.fileUrl = this.$route.query.fileUrl ? this.$route.query.fileUrl : null this.fileType = this.$route.query.fileType ? this.$route.query.fileType : null if (this.fileUrl == null) { this.$message({ type: 'error', message: '文件地址無(wú)效,請(qǐng)刷新后重試' }) } // 加載文件內(nèi)容 this.uploading(this.fileUrl) } // methods方法 methods: { // 加載文件內(nèi)容 uploading(file) { // downloadFileXLS是接口,fileKey傳的是文件地址,調(diào)接口獲取文件流 downloadFileXLS({fileKey: file}).then(res => { if(this.fileType === 'xlsx') { // 預(yù)覽xlsx this.displayResult(res) } else if(this.fileType === 'pptx') { // 預(yù)覽pptx,可忽略,該篇文章不涉及pptx的預(yù)覽 this.previewPptx(res) } }) }, displayResult(buffer) { // 生成新的dom const node = document.createElement('div') // 添加孩子,防止vue實(shí)例替換dom元素 if (this.last) { this.$refs.output.removeChild(this.last.$el) this.last.$destroy() } const child = this.$refs.output.appendChild(node) // 調(diào)用渲染方法進(jìn)行渲染 return new Promise((resolve, reject) => renderSheet(buffer, child).then(resolve).catch(reject) ) } }
總結(jié)
還有一種使用luckysheet和luckyexcel來(lái)實(shí)現(xiàn)預(yù)覽excel的方法,鏈接如下。
vue項(xiàng)目使用luckyexcel預(yù)覽excel表格
到此這篇關(guān)于vue項(xiàng)目預(yù)覽excel表格(file-viewer插件)的文章就介紹到這了,更多相關(guān)vue項(xiàng)目預(yù)覽excel表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue2.0 + element UI 中 el-table 數(shù)據(jù)導(dǎo)出Excel的方法
- vue項(xiàng)目使用luckyexcel預(yù)覽excel表格功能(心路歷程)
- Vue3實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)入Excel表格數(shù)據(jù)的方法詳解
- 使用SpringBoot+EasyExcel+Vue實(shí)現(xiàn)excel表格的導(dǎo)入和導(dǎo)出詳解
- vue使用axios導(dǎo)出后臺(tái)返回的文件流為excel表格詳解
- vue項(xiàng)目中常見(jiàn)的三種文件類(lèi)型在線(xiàn)預(yù)覽實(shí)現(xiàn)(pdf/word/excel表格)
- vue中el-table前端如何導(dǎo)出excel數(shù)據(jù)表格
相關(guān)文章
Vue組織架構(gòu)樹(shù)圖組件vue-org-tree的使用解析
這篇文章主要介紹了Vue組織架構(gòu)樹(shù)圖組件vue-org-tree的使用解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Ant design vue table 單擊行選中 勾選checkbox教程
這篇文章主要介紹了Ant design vue table 單擊行選中 勾選checkbox教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10vue完成項(xiàng)目后,打包成靜態(tài)文件的方法
今天小編就為大家分享一篇vue完成項(xiàng)目后,打包成靜態(tài)文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09vue中靜態(tài)文件引用的注意事項(xiàng)及說(shuō)明
這篇文章主要介紹了vue中靜態(tài)文件引用的注意事項(xiàng)及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04如何實(shí)現(xiàn)vue加載指令 v-loading
在日常的開(kāi)發(fā)中,加載效果是非常常見(jiàn)的,但是怎么才能方便的使用,本文介紹如何實(shí)現(xiàn)vue加載指令 v-loading,感興趣的朋友一起看看吧2024-01-01web前端Vue報(bào)錯(cuò):Uncaught?(in?promise)?TypeError:Cannot?read?
這篇文章主要給大家介紹了關(guān)于web前端Vue報(bào)錯(cuò):Uncaught?(in?promise)?TypeError:Cannot?read?properties?of?nu的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01vue路由守衛(wèi)及路由守衛(wèi)無(wú)限循環(huán)問(wèn)題詳析
這篇文章主要給大家介紹了關(guān)于vue路由守衛(wèi)及路由守衛(wèi)無(wú)限循環(huán)問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Vue檢測(cè)屏幕變化來(lái)改變不同的charts樣式實(shí)例
這篇文章主要介紹了Vue檢測(cè)屏幕變化來(lái)改變不同的charts樣式實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10