news 2026/4/16 20:00:03

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/4/16 10:58:03

Langchain-Chatchat本地知识库部署与优化

Langchain-Chatchat 本地知识库部署与优化 在企业知识管理日益智能化的今天&#xff0c;如何让员工快速从海量文档中获取准确信息&#xff0c;成为提升效率的关键。传统的关键词搜索往往只能匹配字面内容&#xff0c;而无法理解语义关联&#xff1b;相比之下&#xff0c;基于大…

作者头像 李华
网站建设 2026/4/16 10:53:19

在MySQL中创建数据库和表

1. 登录MySQL数据库mysql -u root -p然后输入你的密码&#xff1a;********如果出现 mysql: command not found 错误&#xff0c;说明MySQL命令行工具没有在PATH中&#xff0c;需要&#xff1a;使用绝对路径&#xff1a;/usr/local/mysql/bin/mysql -u root -p或者将MySQL添加到…

作者头像 李华
网站建设 2026/4/16 10:54:12

YOLO-V5快速入门:从下载到检测实战

YOLO-V5实战入门&#xff1a;从零开始构建你的第一个目标检测系统 在工业质检线上&#xff0c;摄像头扫过流水线&#xff0c;瞬间识别出缺失零件的电路板&#xff1b;在楼宇大堂&#xff0c;门禁系统自动判断行人是否佩戴口罩&#xff1b;在农田上空&#xff0c;无人机飞过便能…

作者头像 李华
网站建设 2026/4/16 10:56:23

施乐5571打印机故障代码093-971解决方案

嘿&#xff0c;朋友们&#xff01;如果你使用施乐5571打印机&#xff0c;那么可能会遇到093-971这个错误代码。相信我&#xff0c;我见过太多这样的情况&#xff0c;这往往让人不知所措。但别担心&#xff0c;这里有一些简单的解决技巧可以帮到你。染料盒安装不当引发的错误 &a…

作者头像 李华
网站建设 2026/4/16 10:56:04

FLUX.1-ControlNet-Union配置指南:30分钟上手AI绘图

FLUX.1-ControlNet-Union配置指南&#xff1a;30分钟上手AI绘图 在AI绘画领域&#xff0c;模型能力越强&#xff0c;部署门槛往往也越高。面对复杂的依赖关系、显存限制和加载报错&#xff0c;许多用户还没开始创作就已放弃。但如果你正寻找一个既能释放顶级生成质量&#xff0…

作者头像 李华
网站建设 2026/4/16 10:55:48

如何将通义千问/Qwen接入LobeChat?完整配置流程

如何将通义千问/Qwen接入LobeChat&#xff1f;完整配置流程 在构建AI助手的浪潮中&#xff0c;越来越多开发者不再满足于“能用”&#xff0c;而是追求“好用”——既要强大的语言能力&#xff0c;也要流畅自然的交互体验。如果你正在寻找一个既能发挥国产大模型中文优势&#…

作者头像 李华