SpreadJS v16
SpreadJS V16 SP2 is here! This release includes several exciting enhancements and new features, including:
-
GanttSheet Add-On Beta
-
Formula Editor Panel
-
Accessibility
-
Cell.altText Property
-
-
Calculation Enhancements
-
SUMIFS and xLOOKUP Performance Enhancement
-
Excel Manual Calculation Options
-
Cross-sheet Reference Support in FormulaTextBox
-
-
Workbook Enhancements
-
Cell defaultValue Property
-
Date and Integer Range Cell Types
-
Excel Styles Copy Optimization
-
-
TableSheet Enhancement
-
Window Aggregation Function
-
-
Designer Enhancements
-
Default Active Ribbon Tab
-
Excel Themes, Colors, and Fonts
-
Excel File Password
-
Read-Only Names in Name Manager
-
-
Angular 16 Support
v16.1 - May 3, 2023
Read Release Notes | Read Release Blog
-
PivotTable Enhancements
-
SubTotal Option for Single Fields
-
GetPivotData functions for PivotTable references
-
PivotTable Sorting
-
-
TableSheet Enhancements
-
Bind DataManager Views to a Worksheet Table
-
Data Source Spread Transformation
-
Spreadsheet Filters
-
Reordering
-
Header Style Rule
-
-
Calculation Enhancements
-
Auto Formatting for Formula Results
-
RegEx Functions
-
Quick Typing for Cross Worksheet Formulas
-
-
Shape Enhancements
-
Sparkline Functions
-
Text Box Shape
-
Z-Order Methods and Designer Support
-
Form Control Enabled Property
-
-
Chart Enhancements
-
Gauge Charts
-
Invert If Negative
-
-
Workbook Enhancements
-
Input Mask Style
-
Password-protected Worksheets
-
Resizable Filter Window
-
Word Line-Breaking
-
ComboBox AllowFloat
-
Insert Cut Cells for Tables
-
Display Zero
-
Checkbox CellType Line Break
-
Excel Styles Copy Optimization
-
Preserve WordWrap
-
Column/Row Header Layout Enhancement
-
Style Decoration Icons
-
SetRowCount and SetColumnCount Data Protection
-
-
Framework Support
-
Next.js Support
-
Nuxt Support
-
Angular 15 Support
-
-
Designer Component Accessibility
-
Designer Enhancements
-
Resizable Conditional Formatting and Named Range Dialogs
-
Font-Size Drop-Down Enhancement
-
SpreadJS v16.2(Service Pack 2)刚刚发布,我们有一些很棒的新功能可以分享!我们在此版本中添加了以下功能:
- 甘特表附加测试版
- 公式编辑器面板
- 无障碍
- Cell.altText 属性
- 计算增强
- SUMIFS 和 xLOOKUP 性能增强
- Excel 手动计算选项
- FormulaTextBox 中的跨表参考支持
- 工作簿增强功能
- 单元格 defaultValue 属性
- 日期时间选择器和滑块增强
- Excel 样式复制优化
- 表格增强
- 窗口聚合函数
- 设计器增强功能
- 默认活动功能区选项卡
- Excel 主题、颜色和字体
- Excel 文件密码
- 名称管理器中的只读名称
- Angular 16 支持
甘特表附加测试版
在 SpreadJS 16.2 版本中,我们添加了名为 GanttSheet 的新附加组件的 Beta 版本。这是 SpreadJS 中专门工作表内的完整甘特图实现。它有自己的标题并使用形状来绘制甘特图任务。甘特表提供多种选项,包括:
- 缩放和滚动时间刻度
- 任务栏和网格线的样式
- 布局
- 任务操作
- 日历
- 导入和导出
GanttSheet 构建在具有甘特图行为和电子表格用户界面的快速数据绑定 DataTable 视图之上。它可以绑定到具有特定架构的 DataManager 视图。
此可选附加组件的版本处于 Beta 阶段,因此直到 v17 版本才会完全支持它。
公式编辑器面板
现在,使用公式编辑器面板,在 SpreadJS 中查看、编辑和调试又长又复杂的公式变得更加容易。这个新组件提供以下功能:
语法高亮
公式文本将根据标记类型以不同颜色显示:
格式化
可以将又长又复杂的公式格式化为具有适当缩进和嵌套的单独行:
灵活的大纲视图
公式大纲可以折叠和展开:
自动完成建议
可以使用建议的函数、自定义名称和枚举参数快速、正确地输入公式:
工具提示信息
当用户将鼠标悬停在函数名称上或键入函数时,将显示包含函数信息的工具提示:
棉绒选项
将标记公式错误,例如不正确的参数和不匹配的括号:
主题定制
您可以通过更改主题 CSS 来更改公式编辑器的外观,其中包括标记、工具提示、背景、前景和引用范围等属性。
语法高亮
公式的不同语法元素(例如引用范围)会相应突出显示,以增强可读性。
无障碍
Cell.altText 属性
为了向 SpreadJS 添加更多辅助选项,我们在此版本中添加了 Cell.altText 属性。此属性允许您设置当可访问性设置为 true 时屏幕阅读器将读取的特定文本:
sheet.getCell(1, 1).value(1000).altText("Sales amount is {value}");
自定义替代文本的辅助功能 | 特点| SpreadJS JavaScript 演示
计算增强
SUMIFS 和 XLOOKUP 性能增强
SUMIFS 和 XLOOKUP 函数在性能方面得到了增强,因此使用这些函数的工作簿在某些情况下应该更快。
Excel 手动计算选项
SpreadJS现在支持手动计算。设置后,公式不会自动计算;相反,公式只会在编辑或输入新公式时进行计算。这是通过新的CalculationMode枚举来支持的,该枚举默认为auto,并且可以设置为manual。
通过自动计算,如果相关单元格(这些脏单元格中引用的单元格)已更改,则将计算所有脏单元格(已更改的单元格)。手动计算时,只计算直接改变过的单元格;引用已更改单元格的单元格将不会被计算。
输入公式时的跨表参考支持
在 SpreadJS 中,用户可以通过键入“=”在单元格中输入公式。通常,用户只能使用光标选择要在该公式中引用的单元格,只要它们位于同一张纸上即可。在此版本中,我们添加了在编辑单元格公式以引用其他工作表中的单元格时单击不同工作表选项卡的功能。可以根据您的喜好通过更改 CSS 来启用或禁用此功能。
工作簿增强功能
单元格 defaultValue 属性
我们添加了一个属性,允许您设置单元格的默认值。通常,当单元格中没有值时,单元格将显示空白。在此版本中,您可以将任何值或公式设置为单元格的默认值。您可以使用简单的属性获取和设置默认值:
activeSheet.getCell(0, 0).defaultValue(20);
console.log("DefaultValue of cell(0,0) using defaulValue method: " + activeSheet.getCell(0, 0).defaultValue());
日期时间选择器和滑块增强
日期时间选择器和滑块已得到增强,可支持用户定义时间段或范围,其中包括:
- 开始和结束时间,或者
- 从起始编号到结束编号的数字周期
此增强功能表示一个可以存储为单元格值的简单对象,其开始和结束属性可以是日期或整数。
日期时间选择器 | 特点| SpreadJS JavaScript 演示
滑块| 特点| SpreadJS JavaScript 演示
Excel 样式复制优化
SpreadJS 中的复制样式已得到增强,可以匹配 Excel。现在,SpreadJS 将为单元格生成命名样式并将它们添加到 HTML 剪贴板内容的顶部,而不是为每个单元格添加相同的样式定义,从而减少命令大小。
表格增强
窗口聚合函数
此版本中添加的 WINDOW 函数提供 TableSheet 中的数据分析。这些函数可以在特定窗口(与当前行相关的一组表行)上执行聚合、排名和分析计算,并为每行生成结果。这允许您同时使用聚合值和非聚合值。这些新功能如下:
- 排名功能
- CUMEDIST - 返回累积分布值
- DENSERANK - 返回当前行在其分区内的排名,没有间隙
- ROWNUMBER - 返回分区内当前行的编号
- W_PERCENTRANK - 返回排名值的百分比
- W_RANK - 返回当前行在其分区内的排名(有间隙)
- 分析函数
- FIRSTVALUE - 返回窗口框架第一行的参数值
- LAG - 提供对指向当前行的给定物理偏移量的行中的值的访问
- LASTVALUE - 返回窗口框架最后一行的参数值
- LEAD - 提供对当前行之后给定物理偏移量的行中的值的访问
- NTHVALUE - 返回窗口框架第 N 行的参数值
- NTILE - 返回其分区内当前行的存储桶编号
Windows 函数实现的最佳示例是运行总计。您可以使用 Windows 函数创建某些数据的运行总计,并使用 PARTITIONBY 函数等来获取每年的运行总计或类似的内容:
设计器增强功能
默认活动功能区选项卡
我们在此版本中对设计器组件所做的第一个增强是能够在功能区中设置默认的活动选项卡。通过在配置中设置默认的活动选项卡,该特定选项卡将在加载 SpreadJS 设计器组件时打开。
// Use the activeRibbonTab method of the designer component to set the active ribbon tab.
var config = GC.Spread.Sheets.Designer.DefaultConfig;
var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("designerHost"), config);
let currentActiveRibbonTab = designer.activeRibbonTab();
if (currentActiveRibbonTab !== "insert")
{
designer.activeRibbonTab("insert");
}
Excel 主题、颜色和字体
我们在设计器中添加了“主题”、“颜色”和“字体”按钮,使用户可以切换主题或颜色集以影响引用这些主题颜色的所有形状、图表和内置单元格样式。
Excel 文件密码
SpreadJS 支持使用密码打开和保存 Excel 文件,我们现在已将该功能添加到文件对话框中的 SpreadJS 设计器中。
名称管理器中的只读名称
在此版本中,现在可以在名称管理器中将名称设置为只读。这可以防止您的用户更改工作簿中的特定名称。
Angular 16 支持
SpreadJS 现在支持 Angular 16 用于我们的 Angular 包装器和设计器组件。
这些是我们在 v16.2 版本中添加到 SpreadJS 中的许多功能。