近日,葡萄城表格控件Spread.NET 发布了V13.0新版本。本次发布带来了多项增强:形状引擎、形状属性绑定机制、复杂粘贴功能,以及加入全新功能:表数据切片器、公式值自动格式化、行标题宽度调整、结构化引用等。

作为一款功能、布局与 Excel 高度类似的 .NET表格控件,Spread.NET可全面满足 WinForm、ASP.NET、XAML 和 WinRT 等平台下表格数据处理、数据可视化开发需求,支持 462 种 Excel 公式,提供可嵌入系统的类Excel 设计器和全面开放的 API,为 .NET开发人员构建企业级表格应用程序提供更加专业的选择。

本次发布,除了已有功能增强,Spread.NET还加入了许多全新功能,如公式值自动格式化、自动调整行标题的宽度、插入结构化引用和全新的事件等。

本文将详细介绍Spread.NET V13.0新版本的亮点之一:公式值自动格式化、结构化引用,以及全新的示例,在此之前,请先下载最新安装程序,以便同步体验!

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

公式值自动格式化

Spread.NET加入了公式值自动格式化的功能:

  1. 使公式函数的运算结果自动匹配当前的单元格样式(类似Microsoft Excel)。
  2. 引用其他单元格时,将自动使用所引用单元格的样式。
  3. 此功能必须启用时才会生效(确保向后兼容)。

Spread.NET 提供的公式值自动格式化功能与Excel类似,如使用DATE函数计算日期时,计算结果将自动设置为日期格式。

Spread.NET的公式值自动格式化,可以根据原始单元格格式自动格式化公式值。

举例:

在单元格A1中键入1500.65,然后应用“ 货币”格式,则该单元格将显示为\$ 1500.65。此时,在单元格A2中键入公式“= A1”,则单元格A2的值也将显示为货币格式。

如果将单元格A2的“单元格格式”更改为会计专用,则单元格A2中的值将更新为 “ 会计专用格式”而不是“ 货币格式”。

此时,在单元格B1中键入公式“= A1”,然后将公式向下拖动到单元格B2中,则这两个单元格的格式均为货币类型,因为B1、B2单元格均引用自A1,而A1的单元格格式为货币:

(根据引用单元格格式自动格式化公式值)

注:为了向后兼容,此功能默认未启用,使用时必须通过IWorkbook.Features来启用:

[C#]

IWorkbook.Features.AutoFormattingworkbook.Features.AutoFormatting = True

[VB]

IWorkbook.Features.AutoFormattingworkbook.Features.AutoFormatting = True

自动调整行标题的宽度

Spread.NET 可以动态调整行标题的大小,当您向下滚动表格时,该行标题会自动调整以显示完整的行号:

(向下滚动时自动调整行标题宽度)

此功能的应用场景是:在数据量非常大的电子表格中,用户向下滚动时可以查看完整的行索引号。

IWorksheet中的BackgroundImage

Spread.NET现在使用新的重载方法SetBackgroundPicture在IWorkbook界面中为工作簿设置背景图像:

[C#]

void IWorksheet.SetBackgroundPicture(string filename, [string contentType =
null])

void IWorksheet.SetBackgroundPicture(System.IO.Stream imageStream, string
contentType)

[VB]

Sub SetBackgroundPicture(filename As String, Optional contentType As String =
Nothing)

Sub SetBackgroundPicture(imageStream As System.IO.Stream, contentType As String)

注:背景图片必须从文件或数据流中加载,并且指定的文件类型必须是:

  • 图片/ jpeg
  • 图片/ png
  • 图片/ tiff
  • 图片/ gif
  • 图片/ Bmp

编辑公式会向表单元格数据插入结构化引用

(编辑公式将结构化引用插入到表格单元格中)

使用Spread中的FormulaTextBox控件编辑公式时,可以选择单元格、表格列或整个表格,并自动插入结构化引用。

注:这个功能可适用于整个表的列引用和整个表引用,但是对于使用 [\@ColumnName] 语法的单元格引用,其引用的单元格必须与表单元格位于同一行中,如果表单元格在另一行中,则只能使用常规单元格引用。

新的BeforeRightClick事件

Spread.NET提供了一个新事件BeforeRightClick,该事件用于:最终用户右键单击电子表格内部时,可以通过事件、API来自定义上下文菜单。

您可以在此事件中调用API(如FpSpread.HitTest)实现:定位光标下的单击位置和对象,覆盖默认行为,并自定义上下文菜单(包括样式、自定义功能),BeforeRightClick事件为Spread设计器的右键单击操作,带来了更为个性化、更加灵活的功能。

为WinForms控件资源管理器中添加了新示例

Spread.NET 在本次更新中,加入了一些令人兴奋的新示例,这些示例可以在C#和VB中运行,并且他们已经包含在Spread.NET的安装程序中:

  1. 汽车保险索赔示例

    汽车保险索赔展示了:如何获取包含VBA代码和自定义形状的Excel工作簿(*.XLSM),并将其转换为 .NET WinForms应用程序(Spread设计器),该应用程序可以将新的命令(包含用户插入的VBA宏和其他修改项目)导出至Excel中。

  2. 动态数组示例

    该示例展示了:如何使用Spread的动态数组功能,以及使用动态数组的示例。您可以浏览到每个带有新公式函数FILTER、RANDARRAY、SEQUENCE、SINGLE、SORT、SORTBY和UNIQUE的工作表。

  3. 公式跟踪示例

    该示例展示:如何使用Spread新的API跟踪公式的源、从属单元格和引用单元格。

  4. 自定义函数功能示例

    该示例展示:如何实现返回数组或计算结果的自定义计算函数,该函数可与数组公式或新的动态数组功能(如果已通过IWorkbookSet.CalculationEngine.CalcFeatures启用)一起使用。

  5. XLOOKUP和XMATCH函数功能示例

    该示例展示:如何使用新的XLOOKUP和XMATCH计算函数以及增强的 searchmode 0\来返回数组中的所有匹配项。

  6. 自定义数据可视化示例

    示例显示了如何创建一个新的 VisualFunction在单元格内绘制QR码。

  7. 切片器示例

    显示了如何使用Spread切片器过滤工作表中的数据,以及如何设置切片器样式。

  8. 形状引擎功能示例

    显示了如何使用Spread的增强形状引擎创建流程图。

以上就是表格控件Spread.NET V13.0中加入的全新功能,如需了解V13.0的其他新特性内容,欢迎访问Spread.NET 产品官网