纯JS电子表格控件SpreadJS正式发布v16.2——新增甘特图插件

SpreadJS是一款基于 HTML5 的纯前端电子表格控件,兼容 450 种以上的 Excel 公式,凭借其 "高性能、跨平台、与 Excel 高度兼容"的产品特性,备受以华为、苏宁易购、天弘基金等为代表的企业用户青睐。SpreadJS 为用户带来亲切的 Excel 使用体验的同时,满足 Web Excel 组件开发、表格文档协同编辑、数据填报、Excel 类报表设计等业务场景,极大降低了企业研发成本和项目交付风险。

SpreadJS v16.0 Update2正式版下载

更新日志如下:

甘特图插件 / 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 主题、颜色和字体

我们在设计器中添加了"主题"、"颜色"和"字体"按钮,使用户可以切换主题或颜色集以影响引用这些主题颜色的所有形状、图表和内置单元格样式。

相关推荐
王俊山IT7 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。9 分钟前
c++多线程
java·开发语言
小政爱学习!11 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
魏大帅。16 分钟前
Axios 的 responseType 属性详解及 Blob 与 ArrayBuffer 解析
前端·javascript·ajax
花花鱼23 分钟前
vue3 基于element-plus进行的一个可拖动改变导航与内容区域大小的简单方法
前端·javascript·elementui
k093326 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
神奇夜光杯34 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue36 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧38 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
测试界的酸菜鱼1 小时前
Python 大数据展示屏实例
大数据·开发语言·python