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
相关推荐
单线程_0110 分钟前
从案例分析 Vue3 Tokenizer+Parser 源码三
前端·javascript·vue.js
jay神1 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
2601_962381867 小时前
Python办公联动:Excel数据一键自动生成PPT图表
python·数据分析·自动化·excel·ppt
OpenTiny社区7 小时前
从流式消息到多会话:TinyRobot Kit 如何组织 AI 对话数据层
vue.js
卤蛋fg69 小时前
vue表格组件 vxe-table 鼠标滑动表头选择整列与选择整行的配置详解
vue.js
阳火锅10 小时前
老板要周报?我说不用,代码提交就是进度
前端·javascript·vue.js
简单Janeee13 小时前
[Vue 3 从零到上线]-第九篇:更美更强——引入 UI 库与网络请求 (Axios)
网络·vue.js·ui
小蒜学长14 小时前
基于SpringBoot + Vue的智能健身房管理系统的设计与实现(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端
千里码aicood16 小时前
Django+Vue 基于XGBoost与随机森林的沿海地区台风天气大数据预警系统实现
vue.js·随机森林·django
jay神17 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计