web端的类excel表格组件调研

  1. Ant-Design Table组件可自行定制化的能力很强,需要定制并实现功能较强的在线excel软件
  2. js-xlsx
      • 优势:可读取操作真实excel文件。和 Antd 表格组件结合使用,增强导出、导入excel功能。
    1. js-xlsx缺点:在于读取excel,不能在线编辑表格
    2. read-excel-file
  3. react-data-grid
    1. 推荐使用 xlsx + react-data-grid 二次开发表格编辑和导入导出
  4. Handsontable 功能比较全的,完成度较高;
    1. 样式也比较像专业的在线excel软件;
    2. 一些核心功能需要购买收费版;
  5. LuckySheet,开源的在线 excel
  6. SpreadJS 标准的纯前端表格控件,商业收费版,功能完善度高

image.png

handsontable

类似 Excel 的体验,能够处理大量数据
用 JSON 格式绑定到任何源,可以执行数据绑定、数据验证、筛选、排序和 CRUD 操作
image.png

handsontable特性

  1. 对齐,决定内容在单元格或单元格范围内的放置位置
  2. 列摘要,进行预定义计算并在 Handsontable 中显示结果
  3. 注释,提供有关单元格的附加注释,以帮助更好地理解其内容
  4. 条件格式,定义特定单元格的格式取决于它们的值
  5. 自动完成,在键入或输入自定义值时选择建议的选项之一
  6. 将行与标题绑定 ,将行与标题绑定以锁定行号并始终显示一个并排显示
  7. 复选框,向单元格添加复选框以指示二元选择
  8. 折叠列,展开和折叠列以更好地适应内容
  9. 上下文菜单,调用快捷菜单以选择与所选对象相关的操作
  10. 自定义边框,在单元格或单元格范围周围应用自定义边框样式
  11. 自定义按钮,使用自定义操作按钮插入和删除列或行
  12. 自定义单元格类型 ,使用 Handsontable 本身作为自定义单元格编辑器
  13. 自定义 HTML ,在单元格或标题中显示 HTML 内容
  14. 数据验证,控制可以在单元格中输入哪些值
  15. 日期,使用日期选择器选择日期
  16. 禁用单元格编辑,在不改变其外观和行为的情况下使单元格不可编辑
  17. 向下拖动 ,拖动填充手柄(单元格右下角的正方形)以使用数据系列填充单元格
  18. 下拉-在单元格中创建的选择先进的下拉列表
  19. 下拉菜单,向标题添加菜单以启用对列的附加操作
  20. 导出到文件,将数据导出到CSV 或字符串等平面文件
  21. 过滤,显示符合条件的行并隐藏其余行
  22. 固定行和列,定义在向下或跨表滚动时可见的行或列
  23. 冻结,创建冻结列以在滚动时保持可见
  24. 标题工具提示,在工具提示中显示标题标签
  25. 隐藏列,隐藏特定列并显示其余列
  26. 隐藏行,隐藏特定行并显示其余行
  27. 突出显示当前,指示整个活动列或行
  28. 国际化,更改 UI 的文本以将其翻译为特定语言
  29. 预填充新行,创建具有预定义类型或值的空单元格
  30. 只读,锁定单元格或一系列单元格以禁止更改它们
  31. 调整大小,拖动大小调整手柄以更改列或行的大小
  32. 滚动,使用本机滚动条在表格内导航
  33. 搜索值,使用搜索字段搜索内容
  34. 合并单元格,跨多行或多列显示单元格
  35. 移动,拖动行或列以在表格内交换它们
  36. 嵌套标题,创建标题的嵌套层次结构,以将您的数据分组
  37. 数字,在单元格中键入自定义数字格式
  38. 分页,限制单个视图中显示的记录数
  39. 密码,使用星号屏蔽单元格中的值
  40. 选择,在单元格中创建一个简单的下拉选项列表
  41. 排序数据,在整个列中按升序或降序对数据进行排序
  42. 拉伸,允许列达到父容器的宽度
  43. 修剪行,从渲染过程中排除特定行,这样就不会显示