添加仪表图以及对受密码保护的工作表的支持。
2023 年 5 月 4 日 - 16:24新版本
特征
数据透视表增强
- 单个字段的小计选项- 通过为单个字段添加小计选项增强了数据透视表支持。以前,SpreadJS 会将小计位置更改为每个字段的底部。现在您可以更改各个字段的位置。
- 数据透视表引用的 GetPivotData 函数- “使用数据透视表引用的 GetPivotData 函数”选项已添加为工作簿中公式的选项,可以启用或禁用。即使数据布局发生变化,此选项也允许您引用数据透视表单元格。
- 数据透视表排序- 添加了排序功能,可通过右键单击数据透视表中的单元格访问。
表格增强功能
- 将工作表表格绑定到数据管理器表格视图- 您现在可以将 DataManager 中的视图用作工作表中表格的数据源。
- Data Source Spread Transformation - 在某些情况下,DataManager 中的数据可能采用具有不同属性的嵌套对象的形式。以前,您需要使用计算列或点分隔符将这些对象的属性指示为字段。在此版本中,您可以简单地指定“spread: true”以确保对象的第一级子对象分散到单独的字段中。
- 电子表格过滤器- TableSheets 现在允许您同时过滤多个列。
- 重新排序- 您可以通过单击并拖动工作簿底部的工作表标签来重新排序工作簿中的工作表。在此版本中,您现在可以将工作表和 TableSheets 一起重新排序,因此可以根据需要更改工作表和 TableSheets 的顺序。
- 标题样式规则- TableSheet 中的列标题现在支持样式规则。默认情况下,如果 TableSheet 被设置为只读,它会自动向列添加一个锁定图标。您现在可以设置在特定情况下显示列标题的特定样式规则。
计算增强
- 公式结果自动格式化- 在 SpreadJS 中输入公式后,您现在可以根据公式中的数据自动格式化结果。自动格式将是以下类型之一:
- 空 - 空/未定义/“一般”/“”。
- 数字 - 0 0.00。
- 货币(会计)- $#,##0.00。
- 日期(时间)- m/d/yyyy h:mm 或 h:mm:ss AM/PM。
- 百分比 - 0.00%。
- 分数 - # ?/?。
- 科学 - 0.00E+00。
- 文字- @。
- RegEx 函数- 添加了一些新的 RegEx 函数,可以帮助提取、匹配和替换单元格中的文本:
- GC.REGEXEXTRACT - 根据正则表达式提取匹配的子字符串。
- GC.REGEXMATCH - 测试一段文本是否与正则表达式匹配。
- GC.REGEXREPLACE - 使用正则表达式将部分文本字符串替换为不同的文本字符串。
- 跨工作表公式的快速输入- 在 SpreadJS 中输入公式时,您可以选择工作簿底部的工作表选项卡以在公式中包含对它的引用并保持编辑模式。但是,一次显示的工作表可能太多,因此无法选择。新的 AllSheetsList 按钮现在可用于为公式中的引用选择工作表。
形状增强
- 迷你图函数- 形状现在支持使用迷你图函数作为源属性。这可以通过 style.fill.src 来完成。使用时,它将创建迷你图并将其用作形状的背景。
- 文本框形状- SpreadJS 现在支持文本框形状,这意味着您可以在工作表上的任何位置添加文本框,其中包含文本。您还可以利用 resizeToFitText 选项自动调整文本框的大小以适应用户的输入。
- Z-Order 方法和设计器支持- SpreadJS 和设计器组件现在支持更改形状的 Z-Order。这意味着您现在可以使用以下行为更改形状相对于彼此的视觉顺序:
- 向前移动 - 将形状移动到另一个形状之上。
- 置于最前面 - 将形状移到其他所有形状之上。
- 向后发送 - 将形状移动到另一个形状下方。
- 置于底层 - 将形状移到其他形状下方。
- 表单控件启用属性- 在之前的版本中,添加了表单控件,允许您为类似表单的界面添加不同类型的按钮和交互式 UI。在此版本中,还添加了一个 enabled 属性,使您可以控制用户是否可以与表单控件交互。
图表增强
- 仪表图- 添加了仪表图。这个新的组合图表可让您创建一种仪表或速度计。仪表图是饼图和圆环图的组合,可让您定量地可视化单个数据值。
- Invert If Negative - 柱形图和条形图已通过 invertIfNegative 选项得到增强。这使您可以以不同方式设置正值和负值的格式,从而实现更清晰的视觉区分。您可以在图表中的特定系列上启用此选项,SpreadJS 将自动反转数据。您可以使用 invertColor 选项为倒置系列选择特定颜色。
工作簿改进
- 输入掩码样式- 添加了新的掩码输入功能。这用于将用户输入限制在一组格式中,确保数据完整性,同时防止输入错误,例如输入格式化的电话号码。该模式可以是字符串模式或日期模式,并且可以与公式结合使用以产生特定结果。
- 受密码保护的工作表- SpreadJS 中的工作表现在可以受密码保护。您可以为特定工作表或整个工作簿设置密码,以匹配 Microsoft Excel 功能。
- 可调整大小的过滤器窗口- 现在可以调整下拉过滤器对话框的大小以满足用户需要。调整大小遵循以下行为:
- 跟踪用户上次设置的大小。
- 不会将大小调整为低于最小要求大小以适合内容。
- 启用/禁用可调整大小的过滤器对话框的全局设置。
- Word Line-Breaking - SpreadJS 现在支持自定义换行,它允许您定义指示何时应该发生换行的字符。
- ComboBox AllowFloat - 在某些情况下,用户会与 ComboBox 交互,并且根据位置和内容,完整的 ComboBox 无法正确显示。在此版本中,已在 ComboBoxCellType 上添加了一个 allowFloat 属性,启用后,允许 ComboBox 浮动到页面上的 SpreadJS 实例之外。
- 为表格插入剪切单元格- SpreadJS 已经支持在表格范围之外插入复制或剪切单元格。现在有了这个版本,复制和剪切的单元格可以插入到表格中。
- 显示零- 有时,工作表可能包含导致单元格中为 0 的公式,而用户可能不希望这些单元格显示任何值。为了支持这一点,添加了 showZeros 选项,可以启用该选项以在单元格中显示 0 值,禁用该选项以将单元格值显示为空白。
- Checkbox CellType Line Break - Checkboxes 是 SpreadJS 中的 CellType,它允许您在单元格内放置一个复选框,并在该框旁边有一个标签。在某些情况下,文本对于单元格来说可能太长,这就是为什么通过 cellStyle.wordWrap 属性添加了对 CheckBox CellTypes 中换行符的支持。当设置为 true 时,如果文本大于单元格的宽度,文本将自动换行。
- 样式复制剪贴板内容优化- SpreadJS 现在在复制样式范围时为剪贴板生成优化的 HTML 内容。这提高了大型剪贴板操作的性能和内存消耗。
- 保留 WordWrap - 作为另一种复制/粘贴增强功能,SpreadJS 现在支持在从一个 SpreadJS 实例复制到另一个实例或从 SpreadJS 复制到 Excel 时保留单元格自动换行。如果为单元格启用了自动换行,则该单元格自动换行将在复制时自动工作。
- 列/行标题布局增强- SpreadJS 支持 addRows/Columns 和 deleteRows/Columns,并且在这个版本中,这些函数现在可以与 Column 和 Row 标题一起使用。您只需在调用这些函数时指定 SheetArea.colHeader 或 SheetArea.rowHeader 即可。
- Style Decoration Icons - SpreadJS 中的 icons 属性已得到增强以支持样式装饰。这些图标是一组自定义图标,可以嵌入单元格内部或外部。由于这些是使用样式实现的,因此您可以指定图标的来源、宽度、高度和位置。
- SetRowCount 和 SetColumnCount 数据保护——在以前的 SpreadJS 版本中,SetRowCount 和 SetColumnCount 函数可以删除行或列,即使要删除的行和列中有数据。在此版本中,添加了一个名为 guardContent 的新参数,它可以让您使用这些函数保护包含数据的行和列。
框架支持
- Next.js 支持——这应该为您提供生产所需的所有功能,包括混合静态和服务器渲染、TypeScript 支持、智能捆绑、路由预取等。
- Nuxt 支持- Nuxt 是一个基于 Vue 的开源框架,有助于 Web 开发,现在支持在此版本中与 SpreadJS 一起使用。
- Angular 15 支持- SpreadJS 现在支持带有 Angular 包装器的最新 Angular 15。
设计器组件辅助功能
- 向设计器组件添加了辅助功能选项。这种基本的可访问性基于 WAI-ARIA。应该注意的是,不同的屏幕阅读器可能会导致针对某些选项阅读不同的文本。
设计师改进
- 可调整大小的条件格式和命名范围对话框- 设计器组件现在支持可调整大小的对话框。这只是添加到对话框模板的一个新的“可调整大小”属性。当该属性设置为 true 时,对话框将支持在左、右和底部方向调整大小。另外,对话框的初始尺寸是对话框的最小尺寸。
- 字体大小下拉菜单增强- 在设计器组件中,您可以通过单击下拉菜单并选择一个数字来更改字体大小。在此版本中,该下拉框已变为可编辑状态,因此您可以将字体大小设置为包含小数。这限制在 1 到 409 之间,小数点必须是 0.5 的倍数。
SpreadJS 是一个完整的企业 JavaScript 电子表格解决方案,用于创建财务报告和仪表板、预算和预测模型、科学、工程、医疗保健、教育、科学实验室笔记本和其他类似的 JavaScript 业务应用程序。利用具有 19 种语言的 500 多个 Excel 内置函数的高速计算引擎,提供真正的类似 Excel 的电子表格体验,对 Excel 的依赖性为零。使用 SpreadJS 的用于数据透视表 UI 的可选部署附加组件和类似 Excel 的设计器功能区完全自定义您的应用程序的需求,允许您的用户执行复杂的交互式分析和数据可视化。完全支持 React、Vue、Angular 和 TypeScript。