最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項(xiàng)目預(yù)覽excel表格功能(file-viewer插件)

 更新時(shí)間:2023年10月19日 12:04:15   作者:悅悅豬  
這篇文章主要介紹了vue項(xiàng)目預(yù)覽excel表格功能(file-viewer插件),本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

file-viewer的插件github地址如下

點(diǎn)我

場(chǎng)景

我沒(méi)有直接使用file-viewer,是按照網(wǎng)上搜來(lái)的方法,只使用了file-viewer的預(yù)覽xlsx的功能,它里面還有預(yù)覽ppt,pdf,圖片等功能。

第一步:安裝相關(guān)依賴包(exceljs,)

npm install exceljs --save
npm install '@handsontable/vue' --save
npm install handsontable --save
npm install 'handsontable/i18n' --save //這個(gè)依賴我沒(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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue應(yīng)用國(guó)際化(i18n)的核心方案與實(shí)踐技巧

    Vue應(yīng)用國(guó)際化(i18n)的核心方案與實(shí)踐技巧

    國(guó)際化(Internationalization,簡(jiǎn)稱i18n)是現(xiàn)代Web應(yīng)用開(kāi)發(fā)中不可或缺的重要功能,本文將深入探討Vue生態(tài)中最流行的國(guó)際化解決方案,從原理到實(shí)踐,帶你全面掌握Vue應(yīng)用的國(guó)際化實(shí)現(xiàn),需要的朋友可以參考下
    2026-01-01
  • Vue?el-table實(shí)現(xiàn)右鍵菜單功能

    Vue?el-table實(shí)現(xiàn)右鍵菜單功能

    這篇文章主要為大家詳細(xì)介紹了Vue?el-table實(shí)現(xiàn)右鍵菜單功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • element-plus 下拉框?qū)崿F(xiàn)全選的示例代碼

    element-plus 下拉框?qū)崿F(xiàn)全選的示例代碼

    本文主要介紹了element-plus 下拉框?qū)崿F(xiàn)全選的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 用Vue封裝導(dǎo)航欄組件

    用Vue封裝導(dǎo)航欄組件

    這篇文章主要為大家詳細(xì)介紹了用Vue封裝導(dǎo)航欄組件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue3快速diff算法的處理過(guò)程

    Vue3快速diff算法的處理過(guò)程

    傳統(tǒng)的?DOM?更新方法會(huì)在有新舊子節(jié)點(diǎn)時(shí)卸載舊節(jié)點(diǎn)并掛載新節(jié)點(diǎn),這種方法沒(méi)有考慮到節(jié)點(diǎn)的復(fù)用可能性,diff?算法通過(guò)比較新舊節(jié)點(diǎn)的差異來(lái)復(fù)用節(jié)點(diǎn),從而優(yōu)化性能,本文給大家介紹了Vue3快速diff算法的處理過(guò)程,需要的朋友可以參考下
    2024-05-05
  • Vue3中Hooks封裝的技巧詳解

    Vue3中Hooks封裝的技巧詳解

    這篇文章主要來(lái)和大家分享一些關(guān)于 Vue3中Hooks封裝的技巧,希望能夠?yàn)榇蠹以?nbsp;Vue 3 項(xiàng)目中更好地利用 Hooks 提供一些思路和實(shí)踐經(jīng)驗(yàn)
    2023-12-12
  • VUE里如何修改element-ui的顯示層次與上下間隔

    VUE里如何修改element-ui的顯示層次與上下間隔

    這篇文章主要介紹了VUE里如何修改element-ui的顯示層次與上下間隔問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue如何使用window.open打開(kāi)頁(yè)面并拼接參數(shù)

    vue如何使用window.open打開(kāi)頁(yè)面并拼接參數(shù)

    這篇文章主要介紹了vue如何使用window.open打開(kāi)頁(yè)面并拼接參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue登錄功能實(shí)現(xiàn)全套詳解(含封裝axios)

    Vue登錄功能實(shí)現(xiàn)全套詳解(含封裝axios)

    登錄功能對(duì)于前端剛?cè)腴T(mén)不久的同學(xué)來(lái)說(shuō)較為困難,下面這篇文章主要給大家介紹了關(guān)于Vue登錄功能實(shí)現(xiàn)(含封裝axios)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • vue3的CRON表達(dá)式組件用法解讀

    vue3的CRON表達(dá)式組件用法解讀

    該文檔介紹了Cron表達(dá)式生成器的使用說(shuō)明,該組件通過(guò)圖形化界面幫助用戶配置定時(shí)任務(wù)的執(zhí)行計(jì)劃,支持秒、分鐘、小時(shí)、日、月、周等時(shí)間單位的靈活配置,并實(shí)時(shí)計(jì)算并顯示最近5次執(zhí)行時(shí)間
    2026-01-01

最新評(píng)論

凯里市| 南漳县| 朔州市| 苏尼特右旗| 颍上县| 桑植县| 马公市| 罗甸县| 兰州市| 那曲县| 饶平县| 油尖旺区| 枣庄市| 扬州市| 什邡市| 宁远县| 类乌齐县| 静乐县| 油尖旺区| 叶城县| 乡城县| 淮南市| 长宁区| 泰顺县| 库车县| 莎车县| 固始县| 鹰潭市| 敦化市| 社会| 台湾省| 庆云县| 沭阳县| 黎平县| 阿鲁科尔沁旗| 通江县| 绥中县| 八宿县| 迁安市| 漳平市| 巴东县|