最近做文件预览,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%E4%BD%BF%E7%94%A8handsontable&searchid=9833a33e001e108d&_chatParams=%7B%22agent_id%22%3A%22c816%22%2C%22content_build_id%22%3A%22b98d268%22%2C%22from%22%3A%22q2c%22%2C%22token%22%3A%22UGlGZHdpN0lzYXNVbS9Gb1JoeVNNWXRmOGI3Q0R2VFNVZlJSWlMzOW9STHY0ZmdiME5MTks3UmZZeEJaQ243OXAxQUVnZEFWR1VlWHR1SXVhMmJqRjZjcGFVZXdGdlltbjRCTXFReXE4b1JVcUVhanZoOHp1RUdNbTZ4MmZTL0k%3D%22%2C%22chat_no_login%22%3Atrue%7D&_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%20pure%20front-end%20preview%20library%20pptx%20preview%20for,the%20introduction%20of%20npm%20mode%20%E7%BA%AF%E5%89%8D%E7%AB%AF%E5%AE%9E%E7%8E%B0%E7%9A%84pptx.js%E6%96%87%E4%BB%B6%E7%9A%84%E9%A2%84%E8%A7%88%E5%BA%93%EF%BC%8C%E6%94%AF%E6%8C%81npm%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85%EF%BC%8C%E6%94%AF%E6%8C%81ES%20Module%E6%96%B9%E5%BC%8F%E5%BC%95%E5%85%A5%E3%80%82%20%E5%9C%A8%E7%BA%BF%E6%BC%94%E7%A4%BA



6330

被折叠的 条评论
为什么被折叠?



