# vue-office
**Repository Path**: genghan/vue-office
## Basic Information
- **Project Name**: vue-office
- **Description**: https://github.com/501351981/vue-office国内镜像
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-11-05
- **Last Updated**: 2025-12-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vue-office
支持多种文件(**docx、excel、pdf、pptx**)预览的vue组件库,支持vue2/3。也支持非Vue框架的预览。
[《演示效果》](https://501351981.github.io/vue-office/examples/dist/)
[《使用非Vue框架(原生js、React等)、或者Vue里面报错,看这里》](https://501351981.github.io/vue-office/examples/docs/guide/js-preview.html)
## 功能特色
- 一站式:提供word(.docx)、pdf、excel(.xlsx, .xls)、ppt(.pptx)多种文档的在线预览方案,有它就够了
- 简单:只需提供文档的src(网络地址)即可完成文档预览
- 体验好:选择每个文档的最佳预览方案,保证用户体验和性能都达到最佳状态
- 性能好:针对数据量较大做了优化
## 安装
```shell
#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
#pptx文档预览组件
npm install @vue-office/pptx vue-demi@0.14.6
```
如果是vue2.6版本或以下还需要额外安装 @vue/composition-api
```shell
npm install @vue/composition-api
```
## 使用示例
文档预览场景大致可以分为三种:
- 有文档CDN地址,比如 https://***.docx,将文档地址字符串传给组件的src属性
- 通过接口请求获取文件内容,此时可以获取文件的ArrayBuffer或Blob格式数据传给组件的src属性
- 文件上传时预览,此时可以获取文件的ArrayBuffer或Blob格式数据传给组件的src属性
docx文件预览示例 (三种使用方式均有示例)
**1. 使用网络地址预览**
```vue
```
**2. 上传文件预览**
读取文件的ArrayBuffer
```vue
```
**3. 二进制文件预览**
如果后端给的不是CDN地址,而是一些POST接口,该接口返回二进制流,则可以调用接口获取文件的ArrayBuffer数据,传递给src属性。
```vue
```
excel 文件预览示例
通过网络地址预览示例如下,通过文件ArrayBuffer预览和上面docx的使用方式一致。
```vue
```
pdf 文件预览示例
通过网络地址预览示例如下,通过文件ArrayBuffer预览和上面docx的使用方式一致。
```vue
```
pptx 文件预览示例
通过网络地址预览示例如下,通过文件ArrayBuffer预览和上面docx的使用方式一致。
```vue
```
# 项目依赖的第三方库
- docx: 基于docx-preview库实现,相关issues暂不处理
- pdf: 基于pdfjs库实现,实现了虚拟列表增加性能
- excel: 基于exceljs 和 x-data-spreadsheet实现,全网样式支持更好
- pptx: 基于自研库 [pptx-preview](https://github.com/501351981/pptx-preview) 实现,源码单独付费向作者索取
# 我要支持作者
## 打赏加微信好友
如果该项目帮到了您,节省了您宝贵的开发时间,还请您不吝给项目点个免费的赞。
当然了,如果您能请作者喝杯咖啡,哪怕喝瓶娃娃哈矿泉水,也是对作者最真诚的鼓励,打赏用户欢迎添加微信,后续交流前端相关问题。

如果您有问题要咨询或者解决,可打赏咨询作者,自2024年12月起,可能不会及时处理issues内容,作者也要吃饭,也面临大龄程序员困境。
## 掘金小册
凝聚作者近10年工作经验的掘金小册[《如何写出高质量的前端代码》](https://juejin.cn/book/7351005935306801188) 已经上线啦,欢迎前端同学关注,希望能够提升大家的前端编码水平。
小册已售 1200+份,收到前端同学的高度评价,对提升日常开发效率和质量,有非常大的帮助。