位置: 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%降1%
  • 纳税申报现金流量表报错了可以重新申报吗
  • 房地产企业成本分摊方法整理(附案例分析)
  • 材料实际成本包括哪些内容
  • 设置会计科目的步骤
  • 制造费用明细账实例图
  • 公司老板个人卡收款 出纳有责任吗
  • 公益性捐赠全额扣除2020年第9号文件
  • 商品过期可以向商家索要赔偿吗
  • 年末一般纳税人应交增值税借贷调平什么意思
  • 食品发票需要清关吗
  • 委托加工代扣代缴的消费税如何计算
  • 劳务费无发票怎么报销
  • 企业公户转别的公司公户他不给开发票怎么操作?
  • 卫生许可证为什么需要两个健康证
  • 精英主板设置u盘启动
  • 旅行社代订的住宿费可以抵扣吗
  • win10应用图标怎么调出来
  • linux系统情况
  • php auth_http类库进行身份效验
  • php 字符串函数
  • 注销税务时其他应付款的账务处理
  • 简易计税方法的适用主体有
  • 管理费用包括哪些明细科目
  • 滞纳金不得超过税款
  • 代扣代缴企业所得税如何申报
  • 企业所得税征收方式有哪些?
  • 业务招待费个税账务处理办法
  • php上传文件类型
  • 并发操作的定义
  • python制作chm
  • 农民专业合作社是什么性质
  • 固定资产折旧完报废账务处理
  • 进项税没入账补入账分录
  • 打印的机票行程怎么查
  • Uncaught DONException: Failed to execute ‘atob‘ on “window ‘: The string to be decoded is not carrec...
  • ps橡皮擦工具的作用是什么
  • 外资企业国内审批手续繁琐
  • 残疾人就业保障金上年职工工资总额
  • 应付账款坏账损失的会计分录
  • 筹建期发生的费用会计分录
  • 企业按行业划分可划分为哪些
  • var/lib/mysql
  • 股东权益合计等于净资产吗
  • 盈余公积转增资本对会计要素的影响
  • 银行代付工资如何操作
  • 销售货物物流运输丢失取得赔偿款需要缴纳企业所得税吗
  • 营业税金及附加怎么计算
  • 去年应收账款下账错误怎么调整
  • 购入商品货款尚未支付
  • 库存商品与存货总额之比
  • 会计凭证用什么纸打印
  • 房地产开发企业增值税税率
  • mysql 连接语句
  • vb.net with
  • win8.1开机速度慢
  • FreeBSD, Debian, CentOS一个网卡绑定多个IP
  • centos6启动不了
  • reg.exec
  • Linux Shell 通配符、元字符、转义符使用实例介绍
  • 电脑开机显示微信号怎么回事
  • excel嵌入图片变成代码怎么办
  • perl常用函数
  • jquery图片轮播无缝连接
  • android自动开关机失效
  • python os.access
  • jquery1
  • 公对私转账怎么开票
  • 河南网上税务局app下载
  • 发票专用章盖在哪里
  • ecco made in china
  • 大连国家税务局官网
  • 体育局和什么局合并了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设