近日,葡萄城表格控件Spread.NET 发布了V13.0新版本。本次发布带来了多项增强:形状引擎、形状属性绑定机制、复杂粘贴功能,以及加入全新功能:表数据切片器、公式值自动格式化、行标题宽度调整、结构化引用等。
作为一款功能、布局与 Excel 高度类似的 .NET表格控件,Spread.NET可全面满足 WinForm、ASP.NET、XAML 和 WinRT 等平台下表格数据处理、数据可视化开发需求,支持 462 种 Excel 公式,提供可嵌入系统的类Excel 设计器和全面开放的 API,为 .NET开发人员构建企业级表格应用程序提供更加专业的选择。
本次发布,除了形状引擎增强外,Spread.NET的另一个亮点便是增强了其复制粘贴功能,以确保数据与 Microsoft Excel® 之间无缝衔接。
本文将详细介绍Spread.NET V13.0新版本的亮点之一:增强复制粘贴及切片器,强化动态数组的XLOOKUP和XMATCH函数支持,在此之前,请先下载最新安装程序,以便同步体验!
增强复制粘贴,确保与 Microsoft Excel® 的数据无缝衔接
Spread.NET 在新版本中的复制/粘贴功能得到了全面加强,确保与 Microsoft Excel® 的数据无缝衔接。
可通过如下控制面板,启用此功能:
使用属性面板启用FpSpread.Features.RichClipboard
或者,您也可以直接在代码中设置:
[C#]
fpSpread1.Features.RichClipboard = true;
[VB]
fpSpread1.Features.RichClipboard = True
当启用复制粘贴的增强选项时,您可以享受如下功能:
向Excel复制Spread设计器中选定的范围和单元格(包括源格式、公式和值)
从Excel中粘贴Shape、Picture、Slicer (包括格式、样式、效果和文本内容)到Spread设计器中
适用于表数据筛选的切片器
Spread.NET 新增了适用于表数据筛选的切片器。
您可以直接向Spread设计器导入、导出带有切片器的Excel文件,也可以直接在Spread设计器中插入切片器:
(Spread Designer中的插入切片器)插入Spread切片器时弹出的对话框:
(插入切片器的对话框)通过代码显示“ 插入切片器”的对话框:
[C#]
SlicerInsertForm dlg = new SlicerInsertForm(table, new Point(25, 25));
dlg.ShowDialog(this);
[VB]
Dim dlg As SlicerInsertForm = new SlicerInsertForm(table, new Point(25, 25))
dlg.ShowDialog(Me)
Spread切片器的作用与Excel相同,都是用来显示表列中的唯一值,并通过快速筛选整张表来定位该值所在的行:
(Spread为“国家/地区”表列创建的切片器)用于自定义数据可视化的VisualFunctions
Spread.NET 在新版本中新增了一个名为VisualFunction的新型自定义计算功能。
使用这个功能,您可以定义一个自定义公式函数,用来在单元格中绘制内容或应用格式,使用此功能在单元格中绘制内容类似于创建迷你图,但比创建迷你图还要简单。
此功能与Spread新的计算引擎和新函数类的VisualFunction集成在了一起。
举例:
您可以自定义绘制QR代码的VisualFunction:
(显示QR代码的VisualFunction)在公式中引用VisualFunction时,需要在VisualFunction的名称前使用前缀“ VF. ” ,并传入参数。
如上面的示例中,VisualFunction QRCODE接收了两个参数(B1,C1),因此将B1 到 C1单元格中Spread.NET的网址生成了一个标准QR码。
增强对XLOOKUP和XMATCH的函数支持
Spread.NET增强了对XLOOKUP和XMATCH函数的支持,这些函数目前仅在Microsoft Excel® 的Office Insiders版本中可用。
和旧的LOOKUP、VLOOKUP、HLOOKUP和MATCH相比,XLOOKUP和XMATCH更好,原因如下:
XLOOKUP和XMATCH可以执行垂直或水平查找(或在嵌套时都执行),具体取决于lookup_array的方向。
即使没有对数据进行排序,XLOOKUP和XMATCH仍可以执行具有正确结果的非精确查找(与HLOOKUP / VLOOKUP / MATCH不同)。
XLOOKUP和XMATCH默认执行精确匹配查找(与LOOKUP / HLOOKUP / VLOOKUP / MATCH不同)。
XLOOKUP不需要引用包含 _ lookuparray \ 和 _ returnarray \ 的全部范围,仅需引用特定范围即可。因此就计算效率而言,XLOOKUP可以比HLOOKUP / VLOOKUP更高效。
因为使用了范围引用,XLOOKUP在插入、删除和移动 _ lookuparray \ 或_ returnarray \ 的列、行时会自动调整。
Spread.NET中对XLOOKUP和XMATCH进行了增强,支持_searchmode 0 - All\ (它用来返回数组中的所有匹配项,防止当启用动态数组时,这些项因为溢出到相邻的单元格中而没有被匹配到)。
从上面的第6点可以看出,启用动态数组功能时,为了避免遗漏数据,需要借助 _ searchmode 0-All \ ,而只有XLOOKUP和XMATCH 才能支持它。
(在Spread功能区中启用“动态数组”)通过代码启用动态数组:
[C#]
fpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures =
GrapeCity.Spreadsheet.CalcFeatures.DynamicArray;
[VB]
fpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures =
GrapeCity.Spreadsheet.CalcFeatures.DynamicArray
以上就是表格控件Spread.NET V13.0中针对复制粘贴、切片器、动态数组XLOOKUP和XMATCH函数的更新部分,如需了解V13.0的其他新特性内容,欢迎访问Spread.NET 产品官网。