web端的类excel表格组件调研
- Ant-Design Table组件可自行定制化的能力很强,需要定制并实现功能较强的在线excel软件
- js-xlsx
- 优势:可读取操作真实excel文件。和 Antd 表格组件结合使用,增强导出、导入excel功能。
- js-xlsx缺点:在于读取excel,不能在线编辑表格
- read-excel-file
- react-data-grid
- 推荐使用 xlsx + react-data-grid 二次开发表格编辑和导入导出
- Handsontable 功能比较全的,完成度较高;
- 样式也比较像专业的在线excel软件;
- 一些核心功能需要购买收费版;
- LuckySheet,开源的在线 excel
- SpreadJS 标准的纯前端表格控件,商业收费版,功能完善度高
handsontable
类似 Excel 的体验,能够处理大量数据
用 JSON 格式绑定到任何源,可以执行数据绑定、数据验证、筛选、排序和 CRUD 操作
handsontable特性
- 对齐,决定内容在单元格或单元格范围内的放置位置
- 列摘要,进行预定义计算并在 Handsontable 中显示结果
- 注释,提供有关单元格的附加注释,以帮助更好地理解其内容
- 条件格式,定义特定单元格的格式取决于它们的值
- 自动完成,在键入或输入自定义值时选择建议的选项之一
- 将行与标题绑定 ,将行与标题绑定以锁定行号并始终显示一个并排显示
- 复选框,向单元格添加复选框以指示二元选择
- 折叠列,展开和折叠列以更好地适应内容
- 上下文菜单,调用快捷菜单以选择与所选对象相关的操作
- 自定义边框,在单元格或单元格范围周围应用自定义边框样式
- 自定义按钮,使用自定义操作按钮插入和删除列或行
- 自定义单元格类型 ,使用 Handsontable 本身作为自定义单元格编辑器
- 自定义 HTML ,在单元格或标题中显示 HTML 内容
- 数据验证,控制可以在单元格中输入哪些值
- 日期,使用日期选择器选择日期
- 禁用单元格编辑,在不改变其外观和行为的情况下使单元格不可编辑
- 向下拖动 ,拖动填充手柄(单元格右下角的正方形)以使用数据系列填充单元格
- 下拉-在单元格中创建的选择先进的下拉列表
- 下拉菜单,向标题添加菜单以启用对列的附加操作
- 导出到文件,将数据导出到CSV 或字符串等平面文件
- 过滤,显示符合条件的行并隐藏其余行
- 固定行和列,定义在向下或跨表滚动时可见的行或列
- 冻结,创建冻结列以在滚动时保持可见
- 标题工具提示,在工具提示中显示标题标签
- 隐藏列,隐藏特定列并显示其余列
- 隐藏行,隐藏特定行并显示其余行
- 突出显示当前,指示整个活动列或行
- 国际化,更改 UI 的文本以将其翻译为特定语言
- 预填充新行,创建具有预定义类型或值的空单元格
- 只读,锁定单元格或一系列单元格以禁止更改它们
- 调整大小,拖动大小调整手柄以更改列或行的大小
- 滚动,使用本机滚动条在表格内导航
- 搜索值,使用搜索字段搜索内容
- 合并单元格,跨多行或多列显示单元格
- 移动,拖动行或列以在表格内交换它们
- 嵌套标题,创建标题的嵌套层次结构,以将您的数据分组
- 数字,在单元格中键入自定义数字格式
- 分页,限制单个视图中显示的记录数
- 密码,使用星号屏蔽单元格中的值
- 选择,在单元格中创建一个简单的下拉选项列表
- 排序数据,在整个列中按升序或降序对数据进行排序
- 拉伸,允许列达到父容器的宽度
- 修剪行,从渲染过程中排除特定行,这样就不会显示