纯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 主题、颜色和字体

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

相关推荐
island13143 分钟前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构 Stream 调度机制
c语言·开发语言·神经网络
曹牧7 分钟前
Spring Boot:如何在Java Controller中处理POST请求?
java·开发语言
浅念-10 分钟前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
WeiXiao_Hyy11 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
User_芊芊君子17 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
Max_uuc27 分钟前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
故事不长丨28 分钟前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
牵牛老人30 分钟前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
froginwe1139 分钟前
Python3与MySQL的连接:使用mysql-connector
开发语言
xjt_09011 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js