在这里,我们很高兴的宣布,专业、灵活的类 Excel .NET表格控件 Spread Studio 发布了最新的 V12 新版本,此次新版本除了大幅度提高了各方面性能表现,还带来了基于 VSTO 的 API 接口及功能增强 。

性能优化:数据绑定、设计时以及加密 Excel 文件

再上一个版本中,我们已经开始专注于性能改进,特别是对于大型 Excel 文件。V11 XLSX 导入和导出的性能比以前版本的 Spread.NET 快得多,我们继续调整版本 12 的性能。在此版本中,我们专注于三个核心用例以提高性能:

  • 数据绑定:将数据绑定支持转移到核心电子表格模型的内部逻辑改进增强了性能,特别是对于涉及绑定数据计算的常见用例。
  • 设计时:在表单资源中保存工作簿时,我们切换了控件的默认序列化逻辑。这样可以增强设计时间性能,尤其是在使用 Spread Designer 工具应用大型或复杂模板时。
  • 加密 XLSX:内核逻辑改进将加密/解密支持转移到核心电子表格模型中,可在导入或导出受密码保护的 Excel 文件时提高性能。

可交换文件格式增强了性能

Spread Studio V12 具有新的可交换 XLSX 文件格式增强功能。使用 Spread Designer 或运行时代码保存或加载 XLSX 文件时可用的新 ExcelSaveFlag 和 ExcelOpenFlag 枚举包括以前在导出为 Excel 格式时丢失的所有自定义 Spread 对象(如单元格类型和列页脚)。使用新的 Exchangeable XLSX 文件格式,所有自定义 Spread 设置都作为自定义流保留在 XLSX 中,并在重新加载时与其他内容一起加载。展望未来,这种新的文件格式取代了控件支持的 XML 序列化,并且使用更小的文件大小将更加高效。

使 Spread Studio 更像 Excel

Spread Studio V12 在新实例中对控件的默认行为进行了一些重大更改。 Spread Studio Windows Forms 12 支持的新默认实例:

  • 拖放单元格范围
  • 拖动填充单元格范围
  • 在标签条中移动工作表标签
  • 选择多个范围
  • 将公式键入单元格
  • 像在 Excel 中一样自动调整行的大小
  • 像在 Excel 中一样计算公式(与日期相关的函数返回双精度值)
  • 折叠单元格边框以渲染边框线,如 Excel
  • 用于增强单元格样式的新核心样式集成和 DefaultCellType 呈现
  • 保护初始化为 False 的工作表的设置,以及初始化为 True 的所有单元格的锁定设置,如 Excel 中所示
  • 带有零大小指示符的隐藏行和列,如 Excel 中所示
  • 标签条始终如 Excel 中所示
  • 与 Excel 一样,增强了工作表和表格的过滤器用户界面
  • 具有更多内置操作的新键盘映射,例如新的 AutoSum 操作[Alt] + [=]

为了进行这些更改,我们更改了使用版本12创建的新实例的许多属性的默认值。此外,我们还发布了一些新功能和对话框,使最终用户体验更加熟悉,包括:

  • 更多类似 Excel 的内置单元格样式
  • 类似于 Excel 的格式对话框
  • 数字格式
  • 渐变和图案填充
  • 增强了对单元格范围的排序和过滤
  • 导入,导出和修改 Office 文档属性

改进升级体验:向后兼容性升级到版本 12

为了与以前版本的 Spread.NET 保持向后兼容,我们实现了对名为 LegacyBehaviors 的新设计时属性的支持,该属性在运行时启用了一组新的特殊兼容模式。这些传统模式是为升级用户设计的,默认情况下,从早期版本的 Spread.NET 升级的控件实例将自动使用 LegacyBehaviors 来最大化升级后实例的向后兼容性。电子表格控件的默认构造函数现在使用 LegacyBehaviors.All 创建新实例,该实例启用所有传统操作模式,因此使用使用该构造函数的旧版本的所有升级代码将具有最大向后兼容性。

新的 Legacy 模式

Spread.NET Windows Forms 12 中提供了四种独立的 LegacyBehavior 模式,每种模式都可以单独启用或禁用:AutoRowHeight,CalculationEngine,PropertyDefaults和Style。

  • AutoRowHeight 标志禁用新的自动行高行为。
  • 计算标志启用遗留计算模式,这使得所有与日期相关的函数返回与以前版本中一样的 .NET DateTime 数据类型,而不是像 Excel 中那样返回双数据类型。
  • PropertyDefaults 标志禁用属性的所有新默认值,以启用上述新的类似 Excel 的行为。使用此标志时,Spread.NET 早期版本中实现的所有旧属性都保留其旧的默认值,包括工作表 Protect defaulting 为 True 和单元 Locked 默认为 False。
  • Style 标志禁用单元格中新的核心样式模型集成和新的 DefaultCellType 呈现,而是使用旧版样式模型和先前版本的 GeneralCellType 呈现。

更容易地升级到 Spread Studio V12

首先,更改项目引用以使用版本 12 DLL。 然后更新项目中的 licenses.licx 以引用新版本。 项目中的所有实例都将自动使用 LegacyBehaviors.All,您的电子表格应该像以前一样运行。您可以立即开始增强项目以利用新的 API 和功能!关闭 LegacyBehaviors 以根据具体情况启用新功能。

新的设计时行为

在设计时,现在使用 LegacyBehaviors.None 创建新实例,该实例禁用所有传统操作模式并启用控件的所有新功能。

新的基于 VSTO 的 API 接口和功能增强

许多基于 Visual Studio Tools for Office API 的新 API 在版本 12 中的 GrapeCity.Spreadsheet.dll 中公开。这个新的 API 层支持版本 12 中的新功能增强,并提供对工作簿各个方面的无与伦比的控制级别。仅 IRange 接口就有 31 个方法重载和 56 个属性,而这只是这个庞大的新 API 层中暴露的数百种新类型中的一种。

这个激动人心的新 API 可以与控件分开运行,使应用程序能够使用新的 Factory 类以极高的效率在内存中创建和操作工作簿。这可用于在 Web 服务器或 Azure 中为无 UI 的服务器端用例提供支持。您还可以将使用 Factory 类创建的实例附加到控件的实例:

GrapeCity.Spreadsheet.IWorkbookSet workbookSet = GrapeCity.Spreadsheet.Win.Factory.CreateWorkbookSet(); fpSpread1.Attach(workbookSet.Workbooks.Add()) 

控件实例不需要位于窗体中用于打开,保存或操作工作簿或工作簿集的内容的表单内。您还可以使用控件的API生成受密码保护的PDF或XLSX文件。这对于满足个人医疗,财务或其他敏感数据的安全要求非常重要。

引用外部工作簿中的参考单元格和范围

您现在可以在外部工作簿中引用单元格和范围,并将这些外部引用导入/导出到 XLSX。 WorkbookSet 可以包含许多相互引用并相互实时重新计算的相关工作簿,这些工作簿可以在同一表单或不同表单上附加到控件的实时实例。对已卸载工作簿的外部引用与 Excel 中一样。

Spread Studio v12 跨工作簿引用

(Spread Studio v12 跨工作簿引用)

其他功能增强

本次发布版本也包括其他功能增强。关于发布更新的更多细节,请参考发布说明