Vue在線預覽Excel和Docx格式文件

前提:本次示例基于Vue2.x,所用插件為Vue-Office。

一、Vue-Office 插件簡介

Vue-Office 是一個一站式解決方案,支持多種 Office 文件格式的在線預覽,包括:

  • Word(.docx)
  • Excel(.xlsx、.xls)
  • PDF
  • PowerPoint(.pptx)

它適用于 Vue 2 和 Vue 3,同時兼容非 Vue 框架(如 React),為開發者提供了簡單、高效的文檔預覽功能。

二、功能特點

1. 簡單集成:
無需為不同文件類型尋找多個庫,Vue-Office 提供了統一的預覽功能,只需提供文檔的 URL(網絡地址)即可完成預覽,降低開發成本。
2. 良好的用戶體驗
針對每種文件類型選擇了最佳的預覽方案,確保加載速度、渲染效果和交互操作流暢。
3. 性能優化:
針對數據量較大的文檔進行了優化,確保在高負載情況下也能保持穩定的預覽效果。
4. 支持多種文件格式:
除了常見的 Word、Excel 和 PDF,還支持 PowerPoint 文件。

三、應用示例

1.安裝Vue-Office相關組件

 npm install @vue-office/excelnpm install @vue-office/docx

2.vue使用
以下以Excel和Word格式文件為例:

<template><div ref="officeViewerRef" v-if="officeDialog" class="officeDemo"><vue-office-excelv-if="xlsxDialog":src="url"style="height: 100vh;"@rendered="renderedHandler"@error="errorHandler"/><vue-office-docxv-if="docxDialog":src="url"style="height: 100vh;"@rendered="renderedHandler"@error="errorHandler"/></div>
</template><script>import VueOfficeExcel from '@vue-office/excel'import '@vue-office/excel/lib/index.css'import VueOfficeDocx from '@vue-office/docx'import '@vue-office/docx/lib/index.css'export default {name: "office-viewer",components: {VueOfficeExcel,VueOfficeDocx,},data(){return {officeLoading: '',xlsxDialog:false,docxDialog:false,url:'',fjType:'',isEnd:false,officeDialog:true,}},watch: {isEnd() {this.officeDialog = false;this.$nextTick(()=>{this.officeDialog = true;})},},mounted(){this.loadFile();},methods: {loadFile(){const url ='實際文件地址';if(url.indexOf(".doc") > -1){this.fjType = 'word';}else{this.fjType = 'excel';}this.url = url;this.officeLoading = this.$loading({lock: true,target:this.$refs.officeViewerRef.$el,text: '正在加載,請稍后....',spinner: 'el-icon-loading',background: 'rgba(0, 0, 0, 0.7)'});if(this.fjType == 'excel'){this.xlsxDialog = true;}else if(this.fjType == 'word'){this.docxDialog = true;}},renderedHandler() {// this.$message.success("渲染完成!");this.officeLoading && this.officeLoading.close();if(this.fjType == 'excel'){this.isEnd = true;}},errorHandler() {this.$message.error("渲染失敗!");this.officeLoading && this.officeLoading.close();},}}
</script><style lang="scss">
.officeDemo{background-color: #808080;height: 100%;padding: 30px 0;.vue-office-docx,.vue-office-excel{height: calc(100% - 60px)!important;}.vue-office-excel{width: calc(100% - 60px);margin-left: 30px;}.docx-wrapper{padding-top: 0!important;padding-bottom: 0!important;}.docx{border-radius: 3px;}.docx:last-child{margin-bottom: 0!important;}.x-spreadsheet{padding-top: 5px;box-sizing: border-box;border-radius: 5px;}
}
</style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89410.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89410.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89410.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

提升(Boosting)及 Python 示例

咱們結合這張圖&#xff0c;把 “提升” 想象成 “做錯題本 請老師補課” 的過程&#xff1a;第一波數據&#xff08;最上面的圓圈&#xff09;&#xff1a;“第一次作業”假設你第一次做 100 道數學題&#xff08;圖中圓圈里的綠點白點代表不同的題&#xff09;&#xff0c;做…

【生產實踐】Linux中NAS掛載丟失后提示“過舊的文件句柄”錯誤解決

太長不看版&#xff1a; 問題&#xff1a;nas掛載在系統里掉了&#xff0c;使用df或ls訪問目錄提示過舊的文件句柄解決過程&#xff1a; 和機房聯系&#xff0c;發現NAS服務器重啟了重新執行mount發現掛不上先umount掉當前掛載&#xff0c;再重新執行mount命令問題解決 umount …

JUnit4

JUnit4 介紹JUnit 是 Java 編程語言的單元測試框架&#xff0c;用于編寫和運行可重復的自動化測試。JUnit 特點&#xff1a;JUnit 是一個開放的資源框架&#xff0c;用于編寫和運行測試。提供注解來識別測試方法。提供斷言來測試預期結果。JUnit 測試允許你編寫代碼更快&#x…

Python-TCP編程-UDP編程-SocketServer-IO各種概念及多路復用-asyncio-學習筆記

序 欠4前年的一份筆記 &#xff0c;獻給今后的自己。 網絡編程 Socket介紹 Socket套接字 Python中提供socket.py標準庫&#xff0c;非常底層的接口庫。 Socket是一種通用的網絡編程接口&#xff0c;和網絡層次沒有一一對應的關系。 協議族 AF表示Address Family&#xff0c;用于…

Mybatis-開發一個類似mybatisplus的mybatis擴展,該怎么入手?

開發一個類似mybatisplus的mybatis擴展&#xff0c;該怎么入手&#xff1f; 要開發一個類似于 MyBatis-Plus 的 MyBatis 擴展框架&#xff0c;你需要從以下幾個核心方面入手&#xff0c;逐步構建出一個功能完整、易用性強、兼容性好的增強型 MyBatis 框架。&#x1f9f1; 一、整…

深入了解linux系統—— 信號的捕捉

前言 信號從產生到處理&#xff0c;可以分為信號產生、信號保存、信號捕捉三個階段&#xff1b;了解了信號產生和保存&#xff0c;現在來深入了解信號捕捉。 信號捕捉 對于1-31號普通信號&#xff0c;進程可以立即處理&#xff0c;也可以不立即處理而是在合適的時候處理&#x…

twikitFKS: 基于 twikit 2.3.1 的改進版本

twikitFKS: 基于 twikit 2.3.1 的改進版本 項目概述 關于 twikit twikit 是一個優秀的 Twitter API 爬蟲庫&#xff0c;它的核心優勢在于無需 API Key即可訪問 Twitter 功能。通過網頁爬蟲技術&#xff0c;twikit 實現了&#xff1a; 發布推文和媒體內容搜索推文和用戶獲取…

C Primer Plus 第6版 編程練習——第9章(下)

7.編寫一個函數&#xff0c;從標準輸入中讀取字符&#xff0c;直到遇到文件結尾。程序要報告每個字符是否是字母。如果是&#xff0c;還要報告該字母在字母表中的數值位置。例如&#xff0c;c和C在字母表中的位置都是3。合并一個函數&#xff0c;以一個字符作為參數&#xff0c…

如何用文思助手改好一篇爛材料

在日常工作中&#xff0c;我們常常會遇到這樣的問題&#xff1a;因為工作要使用到之前寫的文章再看發現內容雜亂無章、或者收到的一些返稿內容質量差&#xff0c;不修改無法使用。但其實它們可能只是缺少了系統性的梳理與打磨。今天我們就來聊一聊&#xff0c;如何對一些不滿意…

VSCODE常規設置

摘要&#xff1a;用于新下載的vscode設置一些個人化的操作在 "Files: Auto Save" 下拉菜單中&#xff0c;選擇你想要的自動保存模式。常見的選項包括&#xff1a;"off"&#xff1a;禁用自動保存。 "afterDelay"&#xff1a;在你停止編輯一段時間…

2025秋招突圍戰:AI智能監考如何重構遠程筆試公平防線?

2025秋招季即將來臨&#xff0c;企業校招規模預計突破百萬量級&#xff0c;遠程筆試成為主流篩選方式。然而&#xff0c;傳統監考模式暴露出作弊行為難追溯、人力成本過高、數據維度單一等痛點&#xff0c;讓HR陷入“效率與公平”的兩難困境。牛客AI智能監考系統&#xff0c;通…

Python 基礎語法與數據類型(十三) - 實例方法、類方法、靜態方法

文章目錄1. 實例方法 (Instance Methods)1.1 特點與語法1.2 實例方法示例2. 類方法 (Class Methods)2.1 特點與語法2.2 類方法示例3. 靜態方法 (Static Methods)3.1 特點與語法3.2 靜態方法示例4. 三種方法的對比總結總結練習題練習題答案創作不易&#xff0c;請各位看官順手點…

Wireshark的安裝和基本使用

文章目錄一、Wireshark介紹二、Wireshark安裝三、Wireshark講解1.界面介紹&#xff08;1&#xff09;分組列表&#xff08;2&#xff09;分組詳情&#xff08;3&#xff09;分組字節流一、Wireshark介紹 Wireshark 是一款開源的網絡協議分析工具&#xff0c;能夠捕獲、過濾和分…

[yotroy.cool] Git 歷史遷移筆記:將 Git 項目嵌入另一個倉庫子目錄中(保留提交記錄)

個人博客https://www.yotroy.cool/&#xff0c;感謝關注&#xff5e; 圖片資源可能顯示不全&#xff0c;請前往博客查看哦&#xff01; 說來慚愧&#xff0c;這篇是AI幫助我解決實際問題后&#xff0c;又生成的一篇博客&#xff0c;效率特別高。 在開發中&#xff0c;我們常會…

91套商業策劃創業融資計劃書PPT模版

創業融資計劃書PPT模版&#xff0c;商業項目技術書PPT模版&#xff0c;商業創業計劃書&#xff0c;商業融資企業宣傳PPT模版&#xff0c;活動策劃方案書PPT模版&#xff0c;IOS風格商業計劃書PPT模版 91套商業策劃創業融資計劃書PPT模版&#xff1a;https://pan.quark.cn/s/739…

探秘阿里云通義九子:解鎖AI無限可能

通義九子初印象在當今人工智能飛速發展的時代&#xff0c;阿里云通義九子宛如一顆璀璨的明星&#xff0c;閃耀在 AI 的浩瀚天空中。作為阿里云推出的一系列強大的人工智能模型&#xff0c;通義九子在自然語言處理、圖像生成、智能客服等多個領域展現出了卓越的能力&#xff0c;…

Python網絡爬蟲之requests庫

目錄 一.網絡爬蟲的介紹 1.網絡爬蟲庫 2.robot.txt規則 二.requests庫 1.requests庫的安裝 2.get()函數 3.Response對象 Response的屬性 設置編碼 返回網頁內容 text() content() 三.提交信息到網頁 post()函數 四.會話與代理服務器 一.網絡爬蟲的介紹 1.網絡爬蟲…

區塊鏈技術詳解:從原理到應用

引言 區塊鏈作為一項顛覆性技術&#xff0c;已從加密貨幣的基石演變為重塑多個行業的創新引擎。本文旨在深入解析其核心原理、關鍵特性、技術架構、主流應用及未來挑戰。一、 區塊鏈核心概念&#xff1a;超越加密貨幣的分布式賬本 本質定義&#xff1a; 區塊鏈是一個去中心化、…

用Finalshell連接服務器后出現文件目錄不顯示,且刷新報錯空指針問題記錄

修改SSH配置?編輯sshd_config?使用管理員權限編輯/etc/ssh/sshd_config文件&#xff0c;找到Subsystem相關配置。原配置為Subsystem sftp /usr/libexec/openssh/sftp-server使用“i”編輯文件將修改為Subsystem sftp internal-sftp修改完成后使用Esc命令&#xff0c;退出編輯…

C語言:游戲代碼分享

小游戲分享 目錄 小游戲分享 1.井字棋游戲 2.簡單計算器游戲 3.猜單詞 4.石頭剪刀布游戲 5.猜數字游戲 1.井字棋游戲 「33 棋盤上的思維博弈&#xff01;與好友輪流落子&#xff0c;搶占先機&#xff0c;連成一線即可獲勝。簡單規則蘊含無限策略&#xff0c;展現你的戰術…