vue2/3 中使用 @vue-office/docx 在网页中预览(docx、excel、pdf)文件

1. 安装依赖:

|---|-------------------------------------------------|
| | #docx文档预览组件 |
| | npm install @vue-office/docx vue-demi@0.14.6 |
| | |
| | #excel文档预览组件 |
| | npm install @vue-office/excel vue-demi@0.14.6 |
| | |
| | #pdf文档预览组件 |
| | npm install @vue-office/pdf vue-demi@0.14.6 |

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

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

vue2中在components文件中写个组件

html 复制代码
<template>
    <div>
        <vue-office-docx v-if="type == 'docx'" :src="`${matchType(src)}`" @rendered="rendered" />
        <vue-office-excel v-if="type == 'excel'" :src="`${matchType(src)}`" @rendered="rendered" />
        <vue-office-pdf v-if="type == 'pdf'" :src="`${matchType(src)}`" @rendered="rendered" />
    </div>

</template>

<script>
import VueOfficeDocx from '@vue-office/docx';
import VueOfficeExcel from '@vue-office/excel';
import VueOfficePdf from '@vue-office/pdf';
export default {
    components: {
        VueOfficeDocx,
        VueOfficeExcel,
        VueOfficePdf
    },
    props: {
        src: {
            type: String,
            required: true
        },
    },
    data() {
        return {
            type: docx
        }
    },
    methods: {
        matchType(fileName) {
      // 后缀获取
      var suffix = ''
      // 获取类型结果
      var result = ''
      try {
        var flieArr = fileName.split('.')
        suffix = flieArr[flieArr.length - 1]
      } catch (err) {
        suffix = ''
      } 

        }
    }

}
</script>

<style></style>

等数据接入再继续更新

相关推荐
Y42582 小时前
本地多语言切换具体操作代码
前端·javascript·vue.js
不想上班只想要钱6 小时前
vue3+vite创建的项目,运行后没有 Network地址
前端·javascript·vue.js
岁月宁静6 小时前
在富文本编辑器中封装实用的 AI 写作助手功能
前端·vue.js·人工智能
best_scenery9 小时前
excel绘制折线图
excel·分布图
大气层煮月亮9 小时前
Oracle EBS ERP开发——报表生成Excel标准模板设计
数据库·oracle·excel
533_10 小时前
[vue] dayjs 显示实时时间
前端·javascript·vue.js
武天11 小时前
Vue项目中有封装过axios吗?怎么封装的?
vue.js
jiangzhihao051512 小时前
升级到webpack5
前端·javascript·vue.js
橘子海全栈攻城狮12 小时前
【源码+文档+调试讲解】基于SpringBoot + Vue的知识产权管理系统 041
java·vue.js·人工智能·spring boot·后端·安全·spring
掘金安东尼13 小时前
官方:什么是 Vite+?
前端·javascript·vue.js