vue在线预览word、excel、PDF

1、安装依赖

复制代码
#docx文档预览组件
npm install @vue-office/docx vue-demi@0.13.11 -S

#excel文档预览组件
npm install @vue-office/excel vue-demi@0.13.11 -S

#pdf文档预览组件
npm install @vue-office/pdf vue-demi@0.13.11 -S

如果是vue2.6版本或以下还需要额外安装 @vue/composition-api

复制代码
npm install @vue/composition-api -S

2、预览WORD代码

复制代码
<template>
  <div>
    <vue-office-docx :src="docx" style="height: 100vh;" @rendered="rendered" />
  </div>
</template>

<script>
  //引入VueOfficeDocx组件
  import VueOfficeDocx from '@vue-office/docx'
  //引入相关样式
  import '@vue-office/docx/lib/index.css'
  export default {
    components: {
      VueOfficeDocx,
    },
    data() {
      return {
        docx: 'http://static.shanhuxueyuan.com/test6.docx', //设置文档网络地址,可以是相对地址
      }
    },
    methods: {
      rendered() {
        console.log('渲染完成')
      },
    },
  }
</script>

<style lang="scss" scoped></style>

3、预览EXCEL

复制代码
<template>
  <div>
    <vue-office-excel :src="excel" style="height: 100vh;" @rendered="renderedHandler" @error="errorHandler" />
  </div>
</template>

<script>
  //引入VueOfficeExcel组件
  import VueOfficeExcel from '@vue-office/excel'
  //引入相关样式
  import '@vue-office/excel/lib/index.css'
  export default {
    components: {
      VueOfficeExcel,
    },
    data() {
      return {
        excel: 'http://static.shanhuxueyuan.com/demo/excel.xlsx', //设置文档地址
      }
    },
    methods: {
      renderedHandler() {
        console.log('渲染完成')
      },
      errorHandler() {
        console.log('渲染失败')
      },
    },
  }
</script>

<style lang="scss" scoped></style>

4、预览PDF

复制代码
<template>
  <div>
    <vue-office-pdf :src="pdf" @rendered="renderedHandler" @error="errorHandler" />
  </div>
</template>

<script>
  //引入VueOfficePdf组件
  import VueOfficePdf from '@vue-office/pdf'
  export default {
    components: {
      VueOfficePdf,
    },
    data() {
      return {
        pdf: 'http://static.shanhuxueyuan.com/test.pdf', //设置文档地址
      }
    },
    methods: {
      renderedHandler() {
        console.log('渲染完成')
      },
      errorHandler() {
        console.log('渲染失败')
      },
    },
  }
</script>

<style lang="scss" scoped></style>

5、项目参考地址

复制代码
https://github.com/501351981/vue-office.git
相关推荐
不会算法的小灰32 分钟前
Vue.js 基础教程:从入门到实践
前端·javascript·vue.js
拉不动的猪1 小时前
浏览器&Websocket&热更新
前端·javascript·vue.js
那些免费的砖1 小时前
Reka UI - 一款免费开源的 Vue 无头 UI 组件库,样式定制开发项目的绝佳选择
vue.js·ui·开源
跟着珅聪学java2 小时前
在Java中判断Word文档中是否包含表格并读取表格内容,可以使用Apache POI库教程
java·开发语言·word
前端付豪2 小时前
Vue 中的 JSX:让组件渲染更灵活的正确方式
前端·javascript·vue.js
apollo_qwe3 小时前
Vue 权限控制神技!自定义 auth 指令优雅实现按钮级权限管理
vue.js·架构
阿登林3 小时前
Vue面试项目经验分享:如何专业展示技术能力与解决问题
vue.js·经验分享·面试
黄交大彭于晏4 小时前
UniApp 全局通知功能实现
前端·vue.js·uni-app
一 乐4 小时前
流浪动物救助|流浪猫狗救助|基于Springboot+vue的流浪猫狗救助平台设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设
国思RDIF框架4 小时前
国思RDIF低代码快速开发框架 v6.2.2版本发布
前端·vue.js·后端