news 2026/2/2 13:49:40

vue实现文件在线预览功能(包含docx,excel,pdf)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue实现文件在线预览功能(包含docx,excel,pdf)
npm install--save @vue-office/docx @vue-office/excel @vue-office/pdf vue-demi

或者

yarn add @vue-office/docx @vue-office/excel @vue-office/pdf vue-demi
<template><a-card:bordered="false"><!--查询区域--><a-button type="link"size="small"@click="handlePreview2(record)">预览</a-button><a-modal destroyOnClose:visible="comShow":title="modalTitle":width="dynModelWidth":okButtonProps="{ class:{'jee-hidden': true} }"@cancel="handleCancel"><Watermark:text="watermarkText":opacity="0.3":fontSize="20":rotate="0"/><component:is="renderCom":src="url2"@rendered="rendered"@error="errorHandler"class="size-100"/></a-modal></a-card></template><script>// 引入VueOfficeDocx组件importVueOfficeDocxfrom"@vue-office/docx";// 引入相关样式import"@vue-office/docx/lib/index.css";// 引入VueOfficeExcel组件importVueOfficeExcelfrom"@vue-office/excel";// 引入相关样式import"@vue-office/excel/lib/index.css";// 引入VueOfficePdf组件importVueOfficePdffrom"@vue-office/pdf";exportdefault{name:'MesQualityFileListSearch',mixins:[JeecgListMixin,mixinDevice],components:{VueOfficeDocx,VueOfficeExcel,VueOfficePdf,},data(){return{dynModelWidth:'60%',modalTitle:'',comShow:false,renderCom:"VueOfficeDocx",url2:'',}},methods:{handlePreview2(record){this.getDetail(record.id)},handleCancel(){this.comShow=false;},rendered(){console.log("渲染完成");},errorHandler(){console.log("预览渲染失败,请重试");},/** * 根据文件扩展名渲染指定预览组件 * */getDetail(id){if(id){letparam={id:id,}getAction(this.url.queryDetail,param).then((res)=>{if(res.success){letfileArr=res.result.filesthis.comShow=true;this.dynModelWidth='80%',this.modalTitle=fileArr[0].fileNamethis.url2=fileArr[0].fileUrl console.log(this.url2)// 根据文件格式显示预览组件constfileExtension=fileArr[0].fileName.split(".").pop().toLowerCase();if(fileExtension==="xlsx"){this.renderCom="VueOfficeExcel";}if(fileExtension==="docx"){this.renderCom="VueOfficeDocx";}if(fileExtension==="pdf"){this.renderCom="VueOfficePdf";}}})}},}}</script><style scoped>@import'~@assets/less/common.less';.size-100{width:100%;height:100%;min-height:500px;}</style>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/28 13:45:22

国产数据库从入门到精通:新手小白实操指南

国产数据库从入门到精通&#xff1a;新手小白实操指南随着国产化替代浪潮推进&#xff0c;国产数据库&#xff08;如达梦、人大金仓、OceanBase、openGauss等&#xff09;已成为企业核心基础设施的重要选择&#xff0c;也成为技术从业者的必备技能。对于新手小白而言&#xff0…

作者头像 李华
网站建设 2026/1/26 2:25:36

LobeChat如何对接私有化部署的大模型服务?

LobeChat 如何对接私有化部署的大模型服务&#xff1f; 在企业加速拥抱人工智能的今天&#xff0c;一个现实问题日益凸显&#xff1a;如何在享受大语言模型强大能力的同时&#xff0c;确保敏感数据不离开内网&#xff1f;尤其是金融、医疗、政务等对合规性要求极高的行业&#…

作者头像 李华
网站建设 2026/1/29 13:40:48

基于深度学习的安全帽检测系统(UI界面+YOLOv8/v7/v6/v5代码+训练数据集)

摘要 安全帽检测作为计算机视觉在工业安全领域的重要应用,对于预防工地安全事故具有重大意义。本文详细介绍了一种基于深度学习的安全帽检测系统,该系统采用YOLO系列算法(YOLOv5/YOLOv6/YOLOv7/YOLOv8/YOLOv10)进行目标检测,并配备了直观的用户界面。文章将深入探讨系统架…

作者头像 李华
网站建设 2026/1/24 19:06:21

LobeChat能否助力智慧城市?公共事务处理新方式

LobeChat能否助力智慧城市&#xff1f;公共事务处理新方式 在城市治理日益复杂的今天&#xff0c;市民对政务服务的期待早已不再局限于“能办”&#xff0c;而是追求“好办、快办、随时办”。一个简单的落户咨询&#xff0c;可能需要拨打多个电话、翻阅数个网页&#xff0c;甚至…

作者头像 李华
网站建设 2026/1/22 13:48:09

ACE-Step:让普通人也能生成结构化旋律

ACE-Step&#xff1a;让普通人也能生成结构化旋律 在短视频、在线课程和独立游戏内容爆炸式增长的今天&#xff0c;一个现实问题困扰着无数创作者&#xff1a;如何快速获得一段贴合情绪、结构完整又不“撞车”的背景音乐&#xff1f; 买版权音乐成本高&#xff0c;免费素材库…

作者头像 李华
网站建设 2026/2/1 7:45:42

Yolo系列模型的TensorRT-C++推理实践

Yolo系列模型的TensorRT-C推理实践 在边缘计算设备日益承担复杂视觉任务的今天&#xff0c;如何让YOLO这类目标检测模型跑得更快、更稳、更省资源&#xff0c;已经成为工业落地中的核心命题。尤其是在Jetson Orin、T4服务器等多路视频流并发场景下&#xff0c;Python PyTorch那…

作者头像 李华