大家好, 我是徐小夕. 之前一直在社区分享零代码 &低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:
- H5-Dooring(页面可视化搭建平台)
- Flowmix/Docx 多模态文档编辑器
最近在研发和设计在线办公产品时,研究了一下在线电子表格的实现方案,花了半天时间写了一个在线电子表格的js插件,方便大家轻松集成到自己的项目中,demo如下:
我已经把完整实现代码开源,如果大家对这个项目感兴趣,可以在文末参考github地址。
下面我就来介绍一下我开源的这款在线电子表格插件。
其实在线电子表格在国内外有一些开源的项目,但是使用成本上相对较高,所以我目前实现的方案就是基于 x-spreadsheet,封装成了一个开箱即用的js插件,方便大家轻松集成到vue和react项目中,使用方式如下:
js
// 初始化电子表格编辑器
const editor = new SpreadsheetEditor('#spreadsheet', {
showToolbar: true,
showGrid: true,
showContextmenu: true
});
// 注册事件监听
editor.on('ready', () => {
addLog('ready', '电子表格编辑器已准备就绪');
});
editor.on('change', (data) => {
addLog('change', '数据已更改');
});
其中 SpreadsheetEditor 就是我设计的js类,我采用了大量的设计模式和js类继承的方式来设计和封装 SOP,保证用户侧以最少的心智负担实现复杂的在线电子表格编辑,源码结构如下:
目前这个在线电子表格我已经实现的功能有:
- 导入excel文件
- 支持国际化文案配置
- 支持事件监听
- 支持操作日志
操作日志效果如下:完整的功能特性如下:
同时我也上传到gitee上了一份,大家感兴趣的可以参考体验一下:
最后
最近我们基于flowmix/docx文档编辑器做了一款智能文档引擎, 叫灵语文档, 这里简单和大家分享一下:
大家可以基于它轻松打造类似飞书文档和钉钉文档的专业级文档管理系统.
文档演示地址: mindlink.turntip.cn
如果大家有好的想法和问题,也欢迎留言区反馈~