Tech
[分享创造] 最近做了一个支持 docx,pptx,xlsx 的生成、解析、模板填充的纯 Typescript 库
因为日常需求,需要将 docx 存储解析为 JSON 格式方便后续处理,并且能进行简单地在线编辑、集成 AI 工具,一开始是写了 Docen 这个库,将 docx 转为了 Tiptap JSON 格式,简单写了一些解析以支持 tiptap 或者说 html 支持的样式,再通过 dolanmiu/docx 这个包进行导出,但是后期随着需要用到的功能越来越多,感觉不管是解析还是生成的方式都越发显得局限,所以另外做了这个库 Office Open 。
第一阶段,我先是基于原版 docx 包进行了完善,加入了关于 Chart 、Smartart 、SDT 控件等功能,支持了绝大部分的 wml/pml/sml 元素,默认设置更贴近于 Microsoft Office/WPS Office 的标准,重写了关于 xml 的生成和解析部分,将原本的打包从 jszip 替换为了 fflate ,针对 node 环境使用了 zlib 来实现,以此支持了 docx,pptx,xlsx 的生成。
第二阶段,因为原版是基于 Class 实现的,且中间路径过长,我逐步迁移到了通过字符串拼接的方式...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX