表格控件:计算引擎、报表、集算表

news/2024/11/13 11:15:00/文章来源:https://www.cnblogs.com/powertoolsteam/p/18350276

近日,葡萄城正式发布了SpreadJS最新版本 V17.1,为前端表格控件市场带来了一系列令人瞩目的新特性和功能增强。本次更新旨在进一步提升用户在计算引擎、报表生成和分析等方面的体验,为各行业的开发者提供更强大的工具支持。

主要更新亮点

工作薄增强

居右对齐

将样式的 textDirection 属性设置为 rightToLeft,可以将单元格中的文本方向更改为从右到左。这可以适应从右侧编写和读取的语言和脚本,并确保这些语言的数据能够正确、自然地显示。

同时,可以将某个工作表(Worksheet)的配置 rightToLeft 为 true,将从整体外观上形成从右到左的形式,如下图:

富文本支持项目符号列表

作为富文本格式的一部分,现在支持使用无序项目符号和有序编号列表。列表项具有 type、level 和 richText 作为其属性。

文件上传单元格类型

在新版本中,我们引入了一个新的 FileUpload CellType,允许用户通过单击单元格内的文件上传按钮来选择任何文件。

用户还可以对这些文件执行操作,包括预览、下载和清除。默认上传按钮在单元格中显示,如下所示:

文档自定义属性

SpreadJS 现在支持为工作簿设置自定义属性,包括标题、作者、主题等数据。可以使用API在工作簿中管理这些属性,也可以使用“高级属性”窗口在 SpreadJS 表格编辑器管理这些属性:

通过行列头拖动

现在可以通过拖动标题来移动或插入列和行。可以通过将排列选项的allowDragHeaderToMove枚举设置为行、列或两者都设置来启用。这也可以在SpreadJS设计器中启用:

将形状和图表复制为图像

现在可以将形状、图表和切片器复制到剪贴板并另存为图像。我们向 Shape 和 Shape Base 类添加了一个名为 toImageSrc 的新 API。对于图表和切片器来说也是如此。对于 SpreadJS Designer,当右键单击任何这些对象时,还提供了一个新的“另存为图片”选项:

报表插件

行高列宽自适应

SpreadJS 报表插件现在支持行和列的自动调整。这允许用户指定行或列的大小是否应根据其中的文本进行更改。这样,设计器中就有了一个用于设置 AutoFit 属性的新 API 和一个新界面设置:

页总计

报表插件的 R.V 函数生成工作表中溢出单元格的值。在新版本中,添加了另一个参数来指定当前页面。例如:

=SUM(R.V(C2,”CurrentPage”)) 将生成当前页面中所有溢出值的总和。其模板是:

然后,第一页将如下所示:

计算引擎

公式调整的性能增强

新版本中更新了内部逻辑,以提高插入/删除行/列时的性能。会在使用这些操作时较之前花费更少的时间地进行计算。

增量计算

新版本支持增量计算,在执行过程中将整个计算分成多个段。这样可以在计算任务较大时响应用户操作,从而防止工作簿包含许多公式时 UI 无响应。开发人员只需将 Workbook 类的incrementalCalculation 属性设置为 true。还有一个状态栏项显示了这个计算过程。

保护状态下隐藏公式

现在可以使用 Style 类的隐藏属性或 CellRange 类的隐藏方法来控制受保护工作表中公式单元格的可见性。启用后,当隐藏单元格处于活动状态时,编辑栏将不会显示任何数据,输入编辑器在编辑模式下将为空,并且公式编辑器面板将不会显示公式。

利用这个特性,可以保护一些单元格中的公式,避免使用者看到公式或修改。

图表

图表表结构引用

新版本已支持结构化参考公式,并且现在在表格中支持它们作为图表数据源。如果图表绑定到完整的表或使用表结构引用的表的某些列,则表中的任何更新都将在运行时自动更新图表的系列或数据值。

图表数据标签“单元格值”

图表数据标签现在支持使用单元格引用来显示所选单元格范围的值。用户可以为图表的数据标签选择特定的单元格范围。

自定义样式

新版本中,SpreadJS 允许用户自定义表格样式

集算表

预定义列

SpreadJS 集算表新版本支持添加、更新和删除具有有意义的列类型的列,以帮助轻松设计表格。列类型如下:

列类型 数据类型 描述
数值 数值 用于大多数具有指定格式的数值
文本 文本 用于常见文本
公式 取决于结果 根据记录中的其他字段计算值
查找 取决于相关字段 查找相关记录中的特定字段
日期 日期 便于输入日期值
复选框 真假 用于选中/取消选中,数据类型为 TRUE/FALSE
选择框 取决于选项 从预设列表中选择选项
Currency 数值 以文化格式指示货币
百分比 数值 以百分比格式指示数字
电话 文本 以掩码验证指示数字字符串
邮件 文本 以掩码验证指示电子邮件地址
链接 文本 指示 URL 文本
创建时间 日期 在创建记录时设置日期
修改时间 日期 在记录字段更新时设置日期
附件 对象 允许直接在记录上附加文件
条码 取决于输入 从字段生成指定的条形码

撤销重做支持

新版本集算表添加了撤消和重做支持,允许用户撤消/重做以下类别的操作:

  • 配置更改:过滤、排序和其他配置设置
  • 运行时 UI 操作:类似于工作表操作,如单元格编辑、添加/删除行/列、剪贴板操作、拖动/移动行/列等
  • 集算表 API:大多数更改数据或设置的 API 操作(setDataView 方法除外)

同样,在表格编辑器中也支持撤销重做。

大纲分组

在新版本中,SpreadJS 集算表现在支持大纲分组,可以在 groupBy 方法中定义多个字段来创建大纲组。这种多重分组允许用户展开或折叠字段并包括聚合、页眉和页脚。

分组还支持在分组和基础列之间进行排序。

表格编辑器

自定义保存文件对话框

在新版本中,用户可以通过 API 设置保存时的文件格式以及文件名称,如下代码所示:

打印边框选项

SpreadJS 中已经存在 showBorder 方法,用于控制打印过程中是否显示边框。在此版本中,我们已将该选项添加到表格编辑器:

条件格式规则管理器支持当前选择区域

在某些情况下,工作簿可能具有大量条件格式,这可能会使查找特定格式变得复杂。规则管理器对话框现在支持显示特定区域的规则,例如当前选择或特定工作表:

透视表

自定义样式

与上面提到的自定义表格样式增强功能一样,SpreadJS 现在使用户能够在运行时添加、删除和修改数据透视表样式。

数据透视表分组兼容性更新

Excel 更改了数据透视表中的分组方式,因此我们更新了 SpreadJS 数据透视表的分组策略以匹配。它经过改进,增强了可用性、灵活性和清晰度:

项目 旧行为 新行为
默认字段源名称 默认字段源名称直接从间隔(如年/月/季度)中派生。例如,按年份分组会生成名为“年份”的字段。 默认字段源名称结合了原始字段名和间隔。例如,如果原始字段是“battleDate”,并按年份分组,生成的字段将命名为“年份(battleDate)”。
原始字段类型 当一个字段被分组时,它被视为一个分组字段。 即使在分组后,原始字段仍然保持为正常字段。
日期字段重新分组 重新分组需要使用原始字段的确切名称。 重新分组需要使用原始字段名称或生成的分组字段名称。
取消分组功能 仅使用原始字段名称来取消分组。 可以使用原始字段名称和生成的字段名称来取消分组。

SpreadJS V17.0 Update1 的发布,标志着前端表格控件的新高度。葡萄城将继续致力于为用户提供更强大、灵活的工具,助力各行业开发者在数据管理和报表生成方面的创新和发展。

如需了解更多关于 SpreadJS V17.0 Update1 的信息,请访问葡萄城官方网站。

https://www.grapecity.com.cn/developer/spreadjs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/784642.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lsof命令

lsof用于列出有关各种进程打开的文件的信息 列出打开特定文件的进程 lsof /var/log/secure列出目录下打开的文件根据进程名列出打开的文件 lsof -c ssh -c init | head列出特定用户打开的文件 lsof -u zabbix根据进程列出所有打开的文件 lsof -p 1268 列出所有网络连接 lsof -…

Docker无法运行java虚拟机报错There is insufficient memory for the Java Runtime

镜像导入到docker后无法启动容器的问题,但是上传到别的服务器上面又可以正常启动容器,报错信息如下:# There is insufficient memory for the Java Runtime Environment to continue. # Cannot create GC thread. Out of system resources. # Can not save log file, dump t…

Easysearch x 《黑神话悟空》有奖征文获奖结果公示

随着《黑神话:悟空》游戏的正式发售,我们 INFINI Labs 组织的 Easysearch 有奖征文大赛也圆满落幕。本次征文活动自启动以来,收到了众多创作者的热情投稿。在此,我们衷心感谢每一位参与活动的作者,是你们的才华和热情让这次征文活动异彩纷呈。 经过专业评审团的认真评选,…

JetBrains Rider 2024.2 (macOS, Linux, Windows) - 快速且强大的跨平台 .NET IDE

JetBrains Rider 2024.2 (macOS, Linux, Windows) - 快速且强大的跨平台 .NET IDEJetBrains Rider 2024.2 (macOS, Linux, Windows) - 快速且强大的跨平台 .NET IDE JetBrains 跨平台开发者工具 请访问原文链接:https://sysin.org/blog/jetbrains-rider/,查看最新版。原创作品…

排序算法 常见排序算法特性比较

目录排序的概念内外部排序稳定与非稳定排序改进排序的指标图片 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对…

JetBrains PyCharm 2024.2 (macOS, Linux, Windows) - 面向专业开发者的 Python IDE

JetBrains PyCharm 2024.2 (macOS, Linux, Windows) - 面向专业开发者的 Python IDEJetBrains PyCharm 2024.2 (macOS, Linux, Windows) - 面向专业开发者的 Python IDE JetBrains 跨平台开发者工具 请访问原文链接:https://sysin.org/blog/jetbrains-pycharm/,查看最新版。原…

为何AI更懂你:向量搜索,了解一下!

现在,你有没有发现自己越来越多地依赖推荐系统,有时候自己搜到的结果好像还没有AI推荐的精准。现在,你有没有发现自己越来越多地依赖推荐系统,有时候自己搜到的结果好像还没有AI推荐的精准。 那估计有人好奇了,推荐系统怎么这么“聪明”的呢?答案就是:“向量搜索”。今天…

dotnet X11 简单使用 MIT-SHM 共享内存推送图片

这是我在尝试优化 Avalonia 在 Linux 上的低端设备的渲染性能时所研究的方式,本文将告诉大家如何简单使用 XShmPutImage 等 X11 的 XShm Extension 扩展方法,通过共享内存的方式推送图片众所周知,在 X11 里面有经典的 Client-Server 模型。客户端程序是属于 Client 角色,需…

读软件开发安全之道:概念、设计与实施04缓解

读软件开发安全之道:概念、设计与实施04缓解1. 缓解 1.1. 安全思维转换为有效行动的方法就是首先预判威胁,然后针对可能的漏洞加以保护 1.2. 主动响应的做法就叫做“缓解”1.2.1. mitigation1.2.2. 喂宝宝的时候给孩子围上围嘴,避免掉下来的食物粘在宝宝的衣服上,还有安全带…

Java虚拟机精选面试题20道

原文地址:https://www.jb51.net/article/215065.htm 1.介绍下Java内存区域(运行时数据区)。 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为以下6个运行时数据区域。程序计数器(Program Counter Register) 一块较小的内存空间,可以看作当前线程所执行的字节码…

INE - Advanced Web Application Penetration Testing (eWPTx)

Encoding and Filtering URL编码:https://perishablepress.com/stop-using-unsafe-characters-in-urls/ HTML编码:需要知道如何编码以及如何解码文档字符编码:HTTP协议或指令 https://datatracker.ietf.org/doc/html/rfc2616 Content-Type:text/html; charset=utf-8 如果未定…

RCE漏洞常用的Payload总结

关于远程代码执行 常用的payload(linux和windows) RCE:远程代码执行 (RCE) 使攻击者能够通过注入攻击执行恶意代码。代码注入攻击不同于命令注入攻击。攻击者的能力取决于服务器端解释器的限制。在某些情况下,攻击者可能能够从代码注入升级为命令注入。远程代码评估可能导致…