位置: IT常识 - 正文

vue实现本地预览word(docx)、excel(xlsx)、pdf文件(前端vue实现预览excel)

编辑:rootadmin
vue实现本地预览word(docx)、excel(xlsx)、pdf文件 vue实现本地预览word(docx)、excel(xlsx)、pdf文件实现效果:

推荐整理分享vue实现本地预览word(docx)、excel(xlsx)、pdf文件(前端vue实现预览excel),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue展示本地图片,vue预览本地文件,vue展示本地图片,vue本地预览excel,vue怎么预览写出来的界面,vue本地预览excel,vue预览本地文件,vue预览本地文件,内容如对您有帮助,希望把文章链接给更多的朋友!

通过点击预览,浏览器打开新标签页展示文件内容 word效果: pdf效果: excel效果:

前期准备:vue实现本地预览word(docx)、excel(xlsx)、pdf文件(前端vue实现预览excel)

word插件:

npm install --save docx-preview

excel插件:

npm install --save @handsontable/vue npm install --save handsontable npm install --save handsontable/i18n npm install --save exceljs xlsx的部分参考的是竹业大佬的开源代码,表格样式需要引入代码中的xlsx文件中的所有内容,有兴趣的小伙伴可以源码内容 Demo地址[1]:https://zhuye1993.github.io/file-view/dist/index.html github地址:https://github.com/zhuye1993/file-view/tree/master/src/vendors 本文使用的位置,以及引用方法

pdf插件:

pdf.js下载地址 http://mozilla.github.io/pdf.js/getting_started/#download 下载好的文件放如下位置即可

代码:1.全局方法:officeView// 文件预览/**row: 包含fileUrl文件地址的对象*that: vueRouter实例 */export const officeView = function(row, that) { // 获取文件类型 const type = row.fileUrl.substring(row.fileUrl.lastIndexOf('.') + 1, row.fileUrl.length).toLowerCase() if (type.indexOf('pdf') !== -1) { // pdf预览 const pdfSrc = 'pdf/web/viewer.html?file=' + encodeURIComponent(downloadUrl + row.fileUrl) // 打开新标签页 window.open(pdfSrc, '_blank') } else if (type.indexOf('docx') !== -1) { // docx预览 // 获取目标路由地址 const routeUrl = that.resolve({ name: 'OfficeView', query: { fileUrl: downloadUrl + row.fileUrl, fileType: 0 } }) // 打开新标签页 window.open(routeUrl.href, '_blank') } else if (type.indexOf('xlsx') !== -1) { // xlsx预览 // 获取目标路由地址 const routeUrl = that.resolve({ name: 'OfficeView', query: { fileUrl: downloadUrl + row.fileUrl, fileType: 1 } }) // 打开新标签页 window.open(routeUrl.href, '_blank') } else { Message({ type: 'error', message: '仅支持docx、pdf、xlsx文件预览,其它类型文件请下载查看' }) }}2.路由跳转至OfficeView文件,此文件展示word,excel预览内容<template> <div> <!-- excel文件内容位置 --> <div ref="output" /> <!-- wor文件内容位置 --> <div v-if="fileType == 0" id="container" /> </div></template><script>import { renderAsync } from 'docx-preview'import renderSheet from './xlsxView'export default { data() { return { fileUrl: null, fileType: 0, tableData: null, last: null } }, created() { // 从路由地址中获取fileUrl,fileType this.fileUrl = this.$route.query.fileUrl ? this.$route.query.fileUrl : null this.fileType = this.$route.query.fileType ? parseInt(this.$route.query.fileType) : 0 if (this.fileUrl == null) { this.$message({ type: 'error', message: '文件地址无效,请刷新后重试' }) } // 加载文件内容 this.uploading(this.fileUrl) }, methods: { // 加载文件内容 uploading(file) { // 获取文件流 const xhr = new XMLHttpRequest() xhr.open('get', file, true) xhr.responseType = 'blob' xhr.onload = () => { if (xhr.status === 200) { if (this.fileType === 0) { // word预览 renderAsync( xhr.response, document.getElementById('container'), null, { className: 'docx', // 默认和文档样式类的类名/前缀 inWrapper: true, // 启用围绕文档内容渲染包装器 ignoreWidth: false, // 禁止页面渲染宽度 ignoreHeight: false, // 禁止页面渲染高度 ignoreFonts: false, // 禁止字体渲染 breakPages: true, // 在分页符上启用分页 ignoreLastRenderedPageBreak: true, // 禁用lastRenderedPageBreak元素的分页 experimental: false, // 启用实验性功能(制表符停止计算) trimXmlDeclaration: true, // 如果为真,xml
本文链接地址:https://www.jiuchutong.com/zhishi/275454.html 转载请保留说明!

上一篇:Windows系统中Hosts文件的作用(window的hosts文件)

下一篇:如何知道家里网速测速多少兆?(如何知道家里网络是多少兆)

  • 房地产业预售房的预收款退回的涉税处理?
  • 税后净营业利润和净利润的区别
  • 小规模纳税人自动升为一般纳税人条件
  • 水费3个点税
  • 展板制作费属于什么服务
  • 体检怎么写公司抬头
  • 为职工提供免费午餐
  • 购买方已抵扣开具红字信息表之后做账需要什么原始凭证
  • 编制竣工结算的具体增减内容有哪几个方面?
  • 公司库存现金如何存回银行
  • 库存商品未入库
  • 进口货物的关税完税价格不包括
  • 公司租个人车辆如何办理
  • 营业执照印花税减免政策
  • 以前工会是没有公章的吗
  • 境内个人去境外开设公司
  • 外资生产企业出口销售会计处理
  • 开票税额与申报税额差一分账务怎么处理
  • 购买活动赠品会计分录
  • 普通发票没有进账怎么办
  • 雇主责任保险
  • 收到融资租赁利息专票进项税额要转出吗
  • 华为Mate50Pro配置多少
  • 以前年度损益调整怎么做账
  • 销售费用营业费用的区别
  • 工程在建期间土地税滞纳金
  • 未分配利润亏损怎么做分录
  • 先入费用后来发票怎么做账
  • uniapp监听网络状态
  • mac怎么写代码
  • 企业实际发生的经济业务事项都需要
  • php写一个函数,算出两个文件的相对路径
  • 海岸边上
  • 确认的政府补助利得可以确认为收入吗
  • 宋大叔教音乐第三单元进阶版
  • 企业在搬迁期间发生的搬迁收入和搬迁支出
  • 智能优化算法主要内容
  • chatto
  • 激活接口的命令
  • 房屋租赁发票如何免税
  • 个税可以补申报几个月的码
  • 收入纳税退税
  • 新公司筹建期要做账吗
  • 单位财务报销制度和流程
  • 会计利润属于什么会计科目
  • 金税三期税收管理系统打印控件
  • 已计提的城建税有误,怎么办
  • 企业所得税资产总额季初季末怎么填
  • 政府补贴进项税额处理
  • 跨月报销的算当月还是上个月的
  • 债券分期付息到期还本的意思
  • 民间非营利组织会计制度最新版
  • 利息与资金占用费
  • 公对私转账有没有手续费
  • centos 7安装教程
  • sqlserver2008r2创建实例
  • java如何连接sql
  • win7出现蓝屏
  • 安装Win8 64位旗舰版系统提示“windows无法安装到这个磁盘”的故障分析及解决方法
  • Win10 Mobile 10549预览版增DPI缩放 瞬间手机变电脑
  • ,linux
  • centos 7.6安装教程
  • linux修改时间格式
  • centos 做bond
  • 如何在linux shell关闭443端口
  • cocos2dx开发鸿蒙app
  • python线程池最大数量
  • js计算时间差毫秒
  • angular1
  • python module import
  • javascript基于什么的语言
  • monkey命令大全
  • javascript图片切换代码
  • js中提交表单
  • 山西社保查询网址
  • 职称申报结束多久公示
  • 怎么在开票系统导出开票明细
  • 分类所得税和综合所得税的优缺点
  • 经营租赁属于什么费用
  • 安置房公摊面积多少属于正常范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设