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>

等数据接入再继续更新

相关推荐
harrain7 小时前
antvG2折线图和区间range标记同时绘制
前端·javascript·vue.js·antv·g2
网络点点滴9 小时前
组件通信-作用域插槽
前端·javascript·vue.js
Luna-player10 小时前
Vue3中使用vue-awesome-swiper
前端·vue.js·arcgis
SuperEugene10 小时前
Vue3 Pinia 状态管理规范:状态拆分、Actions 写法、持久化实战,避坑状态污染|状态管理与路由规范篇
前端·javascript·vue.js·前端框架·pinia
送鱼的老默11 小时前
学习笔记--vue3 watchEffect监听的各种姿势用法和总结
前端·vue.js
SEO-狼术12 小时前
Improve Navigation with In-Cell Hyperlinks
python·pdf
angerdream12 小时前
最新版vue3+TypeScript开发入门到实战教程之路由详解
前端·javascript·vue.js
送鱼的老默12 小时前
学习笔记--vue3 watch监听的各种姿势用法和总结
前端·vue.js
态态态12 小时前
平板PDF充足笔记空间的最优解
笔记·pdf
掘金者阿豪15 小时前
在AI时代,没有人是“只写一行代码的人”——我们为何都在被迫成为全栈?
vue.js·后端