likes
comments
collection
share

社区开源web Excel组件的对比分析

作者站长头像
站长
· 阅读数 62

关键词

handsontable、 x-data-spreadsheet、 AG-Grid

背景

在项目中引入了handsontable组件,开发过程中反馈打包体积过大,存在布局bug, 所以考虑是否社区有替代组件,故有本文档对社区开源组件进行调研。

收费的组件不在调研范围

根据github star数量以及npm下载量综合对需求的契合度,发现 handsontable 、 x-data-spreadsheet、 AG-Grid 三者都能在一定程度上满足我们的需求,也均存在一定的优缺点。

结论在最后,可直接跳过对比分析。

方案对比

  • 体积对比
组件打包大小(webpack)gzip
AG-Grid1043kb (大)222kb
handsontable402kb (中等)85kb
x-data-spreadsheet106kb (小)32kb
  • 社区认可度
组件starsnpm weekly download
AG-Grid8.2k23,073
handsontable16.4k93,974
x-data-spreadsheet12.3k3,770
  • ui对比
组件基础样式结论
AG-Grid社区开源web Excel组件的对比分析样式独特且丰富,可满足各种自定义
handsontable社区开源web Excel组件的对比分析基础样式单一,扩展性也不错
x-data-spreadsheet社区开源web Excel组件的对比分析很接近excel,交互方式非常接近
  • 功能对比
组件技术实现特点功能文档
AG-Griddom实现包含快捷键操作;适合内嵌图表、图片、富文本等复杂场景编辑、过滤、渲染等基础功能;高度定制的表格内容呈现英文文档;配置项丰富,文档完善
handsontable基于table实现表现和Excel相似,支持公式计算等排序,过滤等基础功能英文文档,比较完善
x-data-spreadsheet基于canvas轻量级、简洁。比较适合做简易版web在线表格编辑器只读/编辑 模式切换工具栏合并单元格右键菜单样式中文文档;不够完善,深度自定义配置需要自己读源码
  • 易用性和扩展性
组件易用性扩展性
AG-Grid⭐️⭐️⭐️⭐️能满足复杂需求定制
handsontable⭐️⭐️⭐️⭐️ ⭐️能满足复杂需求定制
x-data-spreadsheet⭐️⭐️⭐️⭐️只有基础配置,自定义配置需要自己扩展

总结

推荐度
AG-Grid: 适用于对表格定制要求高,侧重展示的需求⭐️⭐️⭐️⭐️
handsontable: 综合表现优秀,体积适中,通常的表格编辑需求均能满足⭐️⭐️⭐️⭐️ ⭐️
x-data-spreadsheet: 适用于快速搭建简单的web Excel的需求⭐️⭐️⭐️⭐️

目前来看handsontable依然是不错的选择,大小适中,社区活跃,易用性和扩展性变现都还不错。未发现有明显的bug。

备注:

使用第三方组件时,建议使用chuckSplit分包和开启gzip压缩,否则确实会造带宽的过度消耗。
转载自:https://juejin.cn/post/7082022562527445029
评论
请登录