Spread Studio是一个功能、布局与Excel高度类似的.NET表格控件,可全面满足WinForm、ASP.NET、XAML和WinRT等平台下表格数据处理、数据可视化开发需求。
基于其强大的功能,
动态数组支持:大幅简化计算公式,提高公式运算效率
Excel 2019推出了动态数组函数,用于简化复杂计算公式:使用动态数组,返回值将自动“输出”到相邻单元格中(未使用的)。用户只需编写一个简单的公式,而不是编写复杂的数组公式就可解决多单元格问题。

△ Excel动态数组功能预览
作为一款与Excel高度类似的表格控件,在Spread Studio V12.1中,也加入了如Excel动态数组一样的功能。
如何在Spread Studio中使用动态数组
首先,需要在Spread设计器中启用动态数组。默认情况下,动态数组不会自动启用,您需要通过以下方式之一显式启用它们:在Windows窗体的Spread设计器(Spread Designer)中,有一个新的“公式”选项卡,如下图:

△ 如何在Spread Studio中使用动态数组
在“计算引擎”菜单中选中“动态阵列”框,以启用对动态阵列的支持。
除此之外,您也可以使用代码(通过调用CalculationFeatures函数),启用动态数组:
【C#】
fpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = GrapeCity.Spreadsheet.CalcFeatures.DynamicArray;
【VB】
FpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = GrapeCity.Spreadsheet.CalcFeatures.DynamicArray
举例:键入类似“= {1,1,2,2,3}”的公式,该公式硬编码水平溢出的数组值如下图:

△ 水平阵列使用’,’分隔符水平溢出
键入“= {1; 1; 2; 2; 3}}”这样的公式,它硬编码垂直溢出的数组值如下图:

△ 垂直数组使用’;’ 分隔符垂直溢出
键入“= {1,1,2,1,3; 1,1,2,1,3; 1,2,3,2,5; 1,2,3,2,5; 1,2 ,2,2,5}“ 这样的公式,其硬编码水平和垂直溢出的二维数组值如下图:

Spread Studio动态数组的强大功能
Spread Studio现在支持六种动态数组函数:
- SEQUENCE和RANDARRAY函数可以生成顺序或随机数据的数组;
- FILTER、SORT、SORTBY和UNIQUE函数主要用于筛选、排序、删除重复项等功能。
使用动态数组,当您的数据发生变化时,设计器将自动调整大小并重新计算,让您的数据分析工作前所未有的简单。
Spread Studio动态数组的使用场景
仅使用带有RANDARRAY的SORTBY,即可为列表创建随机排序:

△ 使用SORTBY和RANDARRAY随机排序值列表
仅使用SEQUENCE和NOW函数,实现每10分钟创建一个时间表计划标题:

△ 使用SEQUENCE安排每隔十分钟
仅使用三个公式和 TRANSPOSE、SORT、UNIQUE 和 SUMIFS 函数,直接在单元格中创建数据透视交叉分析表:

△ 仅使用三个公式创建的数据透视交叉分析
Spread Studio设计器增强:公式追踪&动态数组公式选项卡
Spread Studio设计器(Spread Designer) 中新增了Formulas选项卡,包含全新的动态数组支持(默认情况下不启用)、定义名称、公式审计和用于计算的工具。
Spread Studio设计器的公式追踪
在使用公式时,有时需要了解公式中引用了哪些单元格的数据,这就涉及到公式追踪的操作。在Spread Studio V12.1中,这些用于公式追踪的工具可以在 Trace Precedents,Trace Dependents 和 Remove Arrows 中的 Formula Auditing 组下找到:

△ Spread Studio设计器的公式追踪
新增如Excel般的行、列交替样式支持
Spread Studio V12.1加入了如Excel般的行、列交替样式支持,为交替行或列(通常称为色带)添加颜色,以便使工作表中的数据更易于浏览,此功能包括对内置Excel样式和主题的支持,如颜色渐变和图案填充。
△ 新增如Excel般的行、列交替样式支持
实现方法:当需使用交替样式时,直接调用AlternatingRows类包装的新接口即可,或者您也可以直接调用GrapeCity.Spreadsheet.dll的新公共接口来创建交替的行和列样式。
与VSTO类似的基于 1 的索引:更易于VBA代码移植
通过创建IWorkbook,Spread Studio为所有 GrapeCity.Spreadsheet.IWorkbook API(如 Microsoft ExcelVSTO API)提供了与 VSTO 类似的基于 1 的索引,这样做的目的是:可以轻松地将Excel VBA代码或旧的Spread COM代码(基于 1 的行和列索引部分)移植到 .NET 平台下(后者曾一直使用基于 0 的索引来支持以前版本中的所有API,以实现CLS)。
Spread Studio为何要使用基于 1 的索引
鉴于Microsoft Excel 持Visual Studio Tools for Office(VSTO)的Visual Basic for Applications(VBA)对象模型中基于1的索引,而Spread Studio的常见使用场景便是从支持宏的 Microsoft 中创建使用VBA和VSTO的电子表格应用程序。所以,Spread Studio使用基于 1 的索引,将更易于VBA代码移植。
实现方法:只需一次调用,即可获得基于1的索引对象:
【C#】
IWorkbook iwb = WorkbookSet.CreateBase1Object(fpSpread1.AsWorkbook());
【VB】
Dim iwb As IWorkbook = WorkbookSet.CreateBase1Object(FpSpread1.AsWorkbook())
AsyncFunction全新的异步函数和属性
Spread Studio对创建自定义计算功能提供了丰富的支持,如使用AsyncFunction类创建类似RTD函数的异步函数。RTD函数自Excel 2002引入,主要用于查看和更新实时数据。在Spread Studio V12.1 中,您可以创建继承自AsyncFunction 的自定义计算函数,实现对异步计算的支持,还可以通过各种FunctionAttributes来指示特殊函数的行为,如波动率或返回数组值。
如Excel般的“取消选择”功能
在Excel中,使用CTRL键配合鼠标或键盘可以选中或删除特定的单元格。而在Spread Studio V12.1 中也将提供该功能, 这意味着您可以轻松地选择一系列单元格以应用某些更改,对于需要选择大范围数据的使用场景来说,这个功能将非常实用!
新的F4行为
想要获得 Spread Studio 更多资源或其他相关下载的朋友,请点这里。
想要购买正版 Spread Studio 产品的朋友,请点这里。

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!