近日,葡萄城表格控件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函数支持,在此之前,请先下载最新安装程序,以便同步体验!

>> Spread.NET 最新版下载地址

增强复制粘贴,确保与 Microsoft Excel® 的数据无缝衔接

Spread.NET 在新版本中的复制/粘贴功能得到了全面加强,确保与 Microsoft Excel® 的数据无缝衔接。

可通过如下控制面板,启用此功能:

使用属性面板启用FpSpread.Features.RichClipboard

或者,您也可以直接在代码中设置:

[C#]

fpSpread1.Features.RichClipboard = true;

[VB]

fpSpread1.Features.RichClipboard = True

当启用复制粘贴的增强选项时,您可以享受如下功能:

  1. 向Excel复制Spread设计器中选定的范围和单元格(包括源格式、公式和值)

  2. 从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更好,原因如下:

  1. XLOOKUP和XMATCH可以执行垂直或水平查找(或在嵌套时都执行),具体取决于lookup_array的方向。

  2. 即使没有对数据进行排序,XLOOKUP和XMATCH仍可以执行具有正确结果的非精确查找(与HLOOKUP / VLOOKUP / MATCH不同)。

  3. XLOOKUP和XMATCH默认执行精确匹配查找(与LOOKUP / HLOOKUP / VLOOKUP / MATCH不同)。

  4. XLOOKUP不需要引用包含 _ lookuparray \ 和 _ returnarray \ 的全部范围,仅需引用特定范围即可。因此就计算效率而言,XLOOKUP可以比HLOOKUP / VLOOKUP更高效。

  5. 因为使用了范围引用,XLOOKUP在插入、删除和移动 _ lookuparray \ 或_ returnarray \ 的列、行时会自动调整。

  6. 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 产品官网