首页 > 其他分享 >表格控件:计算引擎、报表、集算表

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

时间:2024-08-09 11:26:40浏览次数:15  
标签:控件 SpreadJS 自定义 表格 单元格 图表 分组 集算表

前言

在现代工作环境中,信息的处理和管理是至关重要的。表格是一种常见的数据呈现和整理工具,被广泛应用于各行各业。然而,随着技术的不断发展,市场对表格控件的需求也越来越高。随着工作效率的重要性日益凸显,一款高效的表格控件成为了开发者们的首选,因此本文小编将从葡萄城公司的纯前端表格控件——SpreadJS的视角出发,为大家介绍如何充分利用这一控件来提升开发效率和用户体验。

主要更新亮点

工作薄增强
居右对齐

将样式的 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

标签:控件,SpreadJS,自定义,表格,单元格,图表,分组,集算表
From: https://blog.csdn.net/powertoolsteam/article/details/141054907

相关文章

  • 文档控件DevExpress Office File API v24.1 - 支持基于Unix系统的打印
    DevExpressOfficeFileAPI是一个专为C#,VB.NET和ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装MicrosoftOffice,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS,XLSx,DOC,DOCx,RTF,CSV和SnapReport等企业级文......
  • 纯js 导出excel表格,xmlns 方式,导出格式只能是xls
    代码onstworksheet="Sheet1";consttableHTML="<tr><td>数据1</td><td>数据2</td></tr>";constexcelHTML=`<htmlxmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:s......
  • 图片表格内容识别转换-II - 华为机试真题题解(Java)
    考试平台:时习知分值:200分考试时间:两小时(共2题)题目描述华为云推出了“通用表格识别”服务,可以将图片表格转换成文本数据。请你将文本数据进一步转换为“文本型表格”,如下图所示:输入现给出一个图片表格的文本数据:每行数据形如line3col1A,表示第3行第1列的单......
  • 一个基于 vue 的强大表单和高性能表格组件,简洁API设计,支持虚拟树,列拖拽,懒加载,快捷
    前言在现代Web应用开发中,表单和表格是两个核心组件,它们对于数据展示和用户交互至关重要。然而,现有的解-决方案往往存在一些痛点,如不够灵活、性能问题、以及难以实现复杂功能等。这些问题限制了开发者的创造力,也影响了用户体验。为了解决这些痛点,开发者需要一款功能强大、灵活......
  • Visionpro二次开发学习笔记7-使用CogToolDisplay控件
    CogToolDisplay控件可显示与视觉工具记录相关的图像,图形和其他状态信息。它使用CogRecord和ICogTool接口将图像和图形连接到CogDisplay。图片清单控件的CogComboBox列出当前记录及其子记录中的图像和图形。您可以单击列表并选择要显示的图像或图形。如果记录层次结构仅包......
  • vue|el-table表格添加一行删除一行并且验证必填
    我们在工作中,难免会遇到一些特殊的场景。比如动态表格的实现,主要的实现就是可以增加删除列,并且需要对数据进行验证。如何在vue中使用el-table添加一行删除一行并且验证必填呢?请看VCR下面是代码示例:<template><divstyle="display:flex;justify-content:center;ali......
  • word中,如何解决表格1.5倍行距文字靠上问题
    在使用word时,经常遇到,设置段落1.5倍行距,表格中的文字靠上,经过了页面布局中的文档网络设置,段落设置中的对齐网格都不起作用,怎么办?搜索、知乎都找遍了都找不到解决办法,都不管用!所用方法用尽都不好使,这里提供一个全新解决方法。方法/步骤1.前提:段落设置中,勾选和不勾选“如果定义了......
  • 电子表格转身购物车:三步轻松实现
    最新技术资源(建议收藏)https://www.grapecity.com.cn/resources/在我们的项目当中,经常需要添加一些选择界面,让用户直观地进行交互,比如耗材、办公用品、设计稿或者其它可以选择的内容。在线商城的商品目录和购物车无疑是一种大家都很熟悉的交互方式,但是在实际开发中,我们可能会......
  • 界面控件DevExpress WinForms,支持HTML & CSS提升用户体验(二)
    DevExpressWinForms现在可以利用HTML/CSS强大的功能,帮助受DevExpress驱动的WinForms应用程序引入现代的UI元素和用户体验!P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应......
  • XLSX.utils.decode_range 使用,选定表格范围
    表格选定范围设置边框当需要设置特定范围(如A6到E19)的边框时,可以使用XLSX.utils.decode_range和XLSX.utils.encode_cell方法来处理。以下是如何使用decode_range解析范围并设置边框样式的示例:importXLSXfrom'xlsx-js-style';constworkbook=XLSX.utils.book_new(......