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
相关推荐
前端开发爱好者1 小时前
尤雨溪官宣:"新玩具" 比 Prettier 快 45 倍!
前端·javascript·vue.js
欧阳呀1 小时前
Vue+element ui导入组件封装——超级优雅版
前端·javascript·vue.js·elementui
番石榴AI3 小时前
自己动手做一款ChatExcel数据分析系统,智能分析 Excel 数据
人工智能·python·数据挖掘·excel
华仔啊4 小时前
用 Vue3 + Canvas 做了个超实用的水印工具,同事都在抢着用
前端·vue.js·canvas
炒毛豆4 小时前
uniapp微信小程序+vue3基础内容介绍~(含标签、组件生命周期、页面生命周期、条件编译(一码多用)、分包))
vue.js·微信小程序·uni-app
岁月宁静5 小时前
在 Vue 3.5 中优雅地集成 wangEditor,并定制“AI 工具”下拉菜单(总结/润色/翻译)
前端·javascript·vue.js
Dolphin_海豚6 小时前
@vue/reactivity
前端·vue.js·面试
菜狗的小小笔记_7 小时前
Vue3 实用技巧
vue.js
玩泥巴的7 小时前
.NET驾驭Word之力:基于规则自动生成及排版Word文档
c#·word·.net·com互操作
Lucky GGBond7 小时前
使用 EasyExcel 封装通用 Excel 导出工具类
excel