前端文件预览docx、pptx和xlsx

最近做文件预览,docx、pptx和xlsx的格式,这里记录一下技术要点和参考文章。

1.插件选择: 用docx-preview \ ppt-preview \ exceljs handsontable @handsontable/vue就可以,其他的插件对于excel来说不是很方便,比如微软相关的插件就有点大了,不灵活。至于 ppt-preview ,一般也不用其他插件来做。docx-preview这个倒是有替代性强一些的。

2.要点,需要注意使用async await来读取文件,尤其是exceljs 的导入文件。其他的不用这个倒也能正常读取。一般 type是普通二进制即可,不用特别指明是xls还是doc这种文件类型。

3.handsontable @handsontable/vue在使用时需要用

import { HotTable } from "@handsontable/vue";

import Handsontable from "handsontable";

import "handsontable/dist/handsontable.full.min.css"; 引入样式和两个插件。两个都引入然后注册HotTable components: { HotTable },然后使用

复制代码
<hot-table ref="table" :settings="hotSettings"></hot-table>

其中使用时参数有两种设置方式,建议用这种就可以了。settings是json的,用的时候要注意vue2对json的双向绑定是不做深层次的,需要ref="table"拿到实例,使用hotInstance.updateSettings来手动进行数据更新。

4.handsontable @handsontable/vue有license文字的显示,需要设置关闭licenseKey: "non-commercial-and-evaluation",,我这里是内网开发,手敲的,可能会错误,需要多检查。一般外网开发不会这么惨。

5.插件需要传入dom,用vue2的$efs进行获取,对于docx和pptx的dom,需要用v-show进行控制显隐,用v-if会被销毁,影响绑定。对于xlsx,用v-if进行控制,强制进行重绘。

6.https://ost.51cto.com/posts/13656

https://www.cnblogs.com/jocongmin/p/18656478

https://github.com/handsontable/vue-handsontable-official

https://blog.csdn.net/weixin_52507110/article/details/139528572

https://yr7ywq.smartapps.baidu.com/?_chatQuery=vue使用handsontable\&searchid=9833a33e001e108d\&_chatParams={"agent_id"%3A"c816"%2C"content_build_id"%3A"b98d268"%2C"from"%3A"q2c"%2C"token"%3A"UGlGZHdpN0lzYXNVbS9Gb1JoeVNNWXRmOGI3Q0R2VFNVZlJSWlMzOW9STHY0ZmdiME5MTks3UmZZeEJaQ243OXAxQUVnZEFWR1VlWHR1SXVhMmJqRjZjcGFVZXdGdlltbjRCTXFReXE4b1JVcUVhanZoOHp1RUdNbTZ4MmZTL0k%3D"%2C"chat_no_login"%3Atrue}\&_swebScene=3711000610001000

https://zetcode.com/javascript/handsontable/

https://develop365.gitlab.io/office-viewer/pptx-preview/zh.html#codeBox1

https://501351981.github.io/pptx-preview/#:\~:text=The pure front-end preview library pptx preview for,the introduction of npm mode 纯前端实现的pptx.js文件的预览库,支持npm方式安装,支持ES Module方式引入。 在线演示

相关推荐
毛骗导演1 天前
Skill 还是 Tool?——从 OpenClaw 源码看 Agent 能力扩展的两种范式
前端·架构
周杰伦fans1 天前
禁止edge浏览器更新
前端·edge
user297525876121 天前
使用SSE实现流式渲染实践
前端·javascript
LPieces1 天前
【LPieces-UI】02-Icon组件的设计与实现
前端·vue.js
我本地是好的1 天前
解决高德地图无外网访问难题:Vue项目代理转发全攻略
前端
wand codemonkey1 天前
Maven Web 项目 + Tomcat 从零排错全流程(零遗漏版)
前端·tomcat·maven
豆苗学前端1 天前
【前端内功】同为数据驱动,为什么只有 React 的"心智负担"这么重?(附实战优化指南)
前端·vue.js·面试
铁皮饭盒1 天前
震惊, Bun突发新版, 重写核心, 换掉了底层Zig
前端·javascript·后端
IT_陈寒1 天前
深入理解Java:核心原理与最佳实践
前端·人工智能·后端
恋猫de小郭1 天前
Android Studio 放着没怎么用,怎么也会越来越卡?
android·前端·flutter