SpreadJS是一款基于 HTML5 的纯前端电子表格控件,兼容 450 种以上的 Excel 公式,凭借其 "高性能、跨平台、与 Excel 高度兼容"的产品特性,备受以华为、苏宁易购、天弘基金等为代表的企业用户青睐。SpreadJS 为用户带来亲切的 Excel 使用体验的同时,满足 Web Excel 组件开发、表格文档协同编辑、数据填报、Excel 类报表设计等业务场景,极大降低了企业研发成本和项目交付风险。
更新日志如下:
甘特图插件 / GanttSheet
在新版本中,SpreadJS 新增了一个新的插件:甘特图,这是基于 SpreadJS 本身的强大电子表格能力,将生产计划、预算排期中的日程管理进行了全新可视化的展示插件,在 V16.0 Update2 版本中以 Beta 版本发布。
其数据来自与集算表同源的数据管理器(DataManager),通过绑定 -> 视图的方式,将层级化的任务数据使用此插件进行展示,如上图。
公式编辑器 / Formula Editor
在使用电子表格的过程中,如果碰到比较复杂的公式,除了阅读困难,无法理解公式函数的计算逻辑,在编辑时也会非常困难,很容易造成公式出错。
在新版本中,SpreadJS 增加了公式编辑器的工具,帮助用户解决以上的困难,如下图:
手动计算模式 / Manual Calculation Options
新版本中,SpreadJS 会在依赖值(公式中引用的单元格、值或名称)发生变化时自动更新公式。
然而,如果你希望控制何时重新计算公式,而不是在引用单元格发生变化后立即进行计算,你可以将自动计算切换为手动计算。SpreadJS API 中的 CalculationMode 枚举允许你设置自动或手动的计算选项。
当 CalculationMode 设置为 auto 时(默认模式),SpreadJS 会在每次引用的单元格发生改变时自动计算所有被修改的单元格。例如,在剪切粘贴或输入单元格时。需要注意的是,SpreadJS 将修改过的单元格视为脏单元格,并且需要进行重新计算。
另一方面,当 CalculationMode 设置为手动(manual) 时,SpreadJS 仅在你明确请求时计算和更新公式。
这在你有一个包含许多复杂公式的大型工作表中,并且希望避免频繁的重新计算以提高性能和响应速度时非常有用。例如,在剪切或粘贴值时,SpreadJS 会重置公式和单元格的值,但不会重新计算任何公式。
注意:SpreadJS 在导出到 Excel 时支持 CalculationMode 选项。
其他更新和增强 / Other Enhancement
Angular 16 支持
SpreadJS 现在支持 Angular 16 用于我们的 Angular 包装器和设计器组件。
计算相关
SUMIFS 和 XLOOKUP 性能优化
在新版本中,针对高频率使用的 SUMIFS 和 XLOOKUP 进一步做了性能优化,在普遍场景下有 10% ~ 30% 的提升。
输入公式时的跨工作表引用支持
在 SpreadJS 中,用户可以通过键入"="在单元格中输入公式。
通常,用户只能使用光标选择要在该公式中引用的单元格,只要它们位于同一张工作表上即可。
在新版本中,添加了在编辑单元格公式以引用其他工作表中的单元格时单击不同工作表选项卡的功能。
工作簿增强 / Workbook Enhancement
日期时间单元格类型增强 / DateTime cell type
单元格中的日期时间选择器下拉菜单允许用户设置日期和时间以在单元格中填充计算结果。
以下截图说明带有下拉指示器的单元格 C5 中的日期时间选择器下拉列表。
以下图片展示了使用日期时间选择器下拉菜单进行日期范围选择的情况。
设计器增强 / Designer Enhancement
Excel 主题、颜色和字体
我们在设计器中添加了"主题"、"颜色"和"字体"按钮,使用户可以切换主题或颜色集以影响引用这些主题颜色的所有形状、图表和内置单元格样式。