• 产品
    • 低代码
    • 活字格低代码平台
    • 低代码技术
    • AI智能体开发指南
    • 智能报表
    • Wyn(商业智能软件)
    • SpreadJS报表(类Excel表格报表控件)
    • ActiveReportsJS(纯前端报表控件)
    • ActiveReports(.NET报表控件)
    • 报表模板库
    • 表格控件
    • SpreadJS(纯前端表格控件)
    • GcExcel Java(服务端表格组件)
    • GcExcel .NET(服务端表格组件)
    • Spread .NET(.NET表格控件)
    • 葡萄城表格技术
    • 控件套包
    • GrapeCity Documents(服务端文档组件库)
    • WijmoJS(前端UI组件库)
    • ComponentOne
  • 解决方案
    • 银行行业
    • 保险行业
    • 证券基金行业
    • 制造行业
    • 铁路行业
    • 会计师事务所
    • 资料下载
  • 成功案例
  • 合作伙伴
    • 成为伙伴
    • 合作伙伴网络
    • 伙伴成功故事
    • 典型伙伴及客户
    • 伙伴赋能
    • 低代码咨询服务
    • 云帆计划
    • 生态伙伴中心
    • 葡萄城市场
    • 伙伴动态
    • 校企合作
    • 高校合作
  • 开发者
    • 葡萄城社区
    • 求助中心
    • 社区活动
    • 在线学习
    • 开发者学堂
    • 葡萄城公开课
    • 低代码沙龙
    • 培训认证
    • 新手训练营
    • 产品培训
    • 技术认证
    • 资源
    • 技术博客
    • 视频资源
    • 葡萄城市场
  • 服务支持
    • 技术服务
    • 技术服务体系
    • 求助中心
    • 预约技术顾问
    • 在线咨询
    • 增值服务
    • 金牌服务
    • 低代码咨询服务
    • 产品培训
    • 技术认证
  • 了解葡萄城
    • 关于葡萄城
    • 葡萄城简介
    • 企业文化
    • 研发与创新
    • 葡萄城与国产化
    • 荣誉奖项
    • 新闻中心
    • 葡萄城动态
    • 产品动态
    • 品牌活动
    • 品牌活动汇总
    • 赋能开发者高峰论坛
    • 葡萄城Meetup
    • 葡萄城公开课
    • 低代码沙龙
    • 企业级低代码应用大赛
    • 表格技术研讨会
    • 葡萄城招聘
    • 加入我们
    • 社会招聘
    • 校园招聘
    • 联系我们
    • 购买及咨询
    • 400-657-6008
    • 投诉建议
  • 登录
  • 产品
  • 解决方案
  • 成功案例
  • 合作伙伴
  • 开发者
  • 服务支持
  • 了解葡萄城
低代码
活字格低代码平台
低代码技术
AI智能体开发指南
智能报表
Wyn(商业智能软件)
SpreadJS报表(类Excel表格报表控件)
ActiveReportsJS(纯前端报表控件)
ActiveReports(.NET报表控件)
报表模板库
表格控件
SpreadJS(纯前端表格控件)
GcExcel Java(服务端表格组件)
GcExcel .NET(服务端表格组件)
Spread .NET(.NET表格控件)
葡萄城表格技术
控件套包
GrapeCity Documents(服务端文档组件库)
WijmoJS(前端UI组件库)
ComponentOne
银行行业
保险行业
证券基金行业
制造行业
铁路行业
会计师事务所
资料下载
成为伙伴
合作伙伴网络
伙伴成功故事
典型伙伴及客户
伙伴赋能
低代码咨询服务
云帆计划
生态伙伴中心
葡萄城市场
伙伴动态
校企合作
高校合作
葡萄城社区
求助中心
社区活动
在线学习
开发者学堂
葡萄城公开课
低代码沙龙
培训认证
新手训练营
产品培训
技术认证
资源
技术博客
视频资源
葡萄城市场
技术服务
技术服务体系
求助中心
预约技术顾问
在线咨询
增值服务
金牌服务
低代码咨询服务
产品培训
技术认证
关于葡萄城
葡萄城简介
企业文化
研发与创新
葡萄城与国产化
荣誉奖项
新闻中心
葡萄城动态
产品动态
品牌活动
品牌活动汇总
赋能开发者高峰论坛
葡萄城Meetup
葡萄城公开课
低代码沙龙
企业级低代码应用大赛
表格技术研讨会
葡萄城招聘
加入我们
社会招聘
校园招聘
联系我们
购买及咨询
400-657-6008
投诉建议

Spread .NET

  • 产品首页
  • 类Excel设计器
  • 功能介绍
  • 各平台对比
  • 体验 Demo
  • 成功案例
  • 资源中心
立即下载

Spread .NET

  • 产品首页
  • 类Excel设计器
  • 功能介绍
  • 各平台对比
  • 体验 Demo
  • 成功案例
  • 资源中心

Spread .NET 表格控件 - 历史版本

Spread .NET 历史版本

  • V17.0 Update1
  • V17.0
  • V16.0
  • V15.0 Update1
  • V15.0
  • V14.0 Update1
  • V14.0
  • V13.0
  • V12.0 Update2
  • V12.0 Update1
  • V12.0
  • V11.0 Update2
  • V11.0
  • V10.0
  • V9.0 Update1
  • V9.0
  • V8.0 Update1
  • V8.0
  • V7.0 Update4
  • V7.0 Update3
  • V7.0 Update2
  • V7.0
  • V6.0

V17.0 Update1

图表中的误差线支持

Spread图表现在支持以下系列类型的误差线:

  • Bar
  • Line
  • Area
  • XYLine
  • XYPoint
  • ClusteredBar
  • HighLowClose
  • Candlestick

已添加下面的 API 来支持此功能:


fpSpread1.ActiveSheet.AddChart(new CellRange(0, 0, 3, 6), typeof(FarPoint.Win.Chart.ClusteredBarSeries), 600, 300, 50, 50);
fpSpread1.ActiveSheet.SetClip(0, 1, 1, 5, "1.2\t0\t-12.5\t-5\t15");
fpSpread1.ActiveSheet.SetClip(1, 0, 1, 6, "1\t-15.43\t-11\t16\t0\t17.5");
fpSpread1.ActiveSheet.SetClip(2, 0, 1, 6, "2\t7\t12\0\t-10\t10\t0");
if (fpSpread1.ActiveSheet.Charts[0].Model.PlotAreas[0].Series[0] is ClusteredBarSeries cluster)
{
  foreach (BarSeries series in cluster.Series)
  {
    ErrorBars errorBar = series.SetErrorBarsVisible(true);
    errorBar.ValueType = ErrorBarValueType.StandardError;
    errorBar.Type = FarPoint.Win.Chart.ErrorBarType.Both;
  }
} 

误差线支持导入和导出到 XML 和 XLSX 文件,并且还支持Spread Chart Designer:

 

分组页脚的列样式

在此新版本中,现在可以在分组页脚上设置列样式。可以使用新的 IGroupFooterStyleSupport 接口进行设置:


SheetView STestActiveSheet = fpSpread1.ActiveSheet;
STestActiveSheet.RowCount = 6;
STestActiveSheet.ColumnCount = 4;
STestActiveSheet.Cells[0, 0, 3, 0].Value = 1;
STestActiveSheet.Cells[4, 0, 5, 0].Value = 2;
STestActiveSheet.Cells[0, 2, 3, 2].Value = DateTime.Today;
DefaultGroupFooterCollection defaultGroupFooterCol = new DefaultGroupFooterCollection(6, 4);
DefaultGroupFooter defaultGroupFooter = defaultGroupFooterCol[0];
ISheetDataModel model = defaultGroupFooter.DataModel as ISheetDataModel;
(model as IAggregationSupport).SetCellAggregationType(0, 2, AggregationType.Avg);
TestFpSpread.ActiveSheet.DefaultGroupFooter = defaultGroupFooterCol;

GroupDataModel gdm = new GroupDataModel(STestActiveSheet.Models.Data);
STestActiveSheet.Models.Data = gdm;
gdm.Group(new SortInfo[] { new SortInfo(0, true) }, null);
TestFpSpread.ActiveSheet.GroupFooterVisible = true;
var style = new StyleInfo();
style.BackColor = System.Drawing.Color.LightBlue;
DateTimeCellType dt = new DateTimeCellType();
dt.DateTimeFormat = DateTimeFormat.UserDefined;
dt.UserDefinedFormat = "dd.MM.yyyy HH:mm:ss";
style.CellType = dt;
style.HorizontalAlignment = CellHorizontalAlignment.Left;
for (int i = 0; i < gdm.Groups.Count; i++)
{
  var group = (Group)gdm.Groups[i];        
  group.GroupFooter.StyleManager.SetColumnStyle(2, style);
} 


 

MultiOption 单元格类型 紧凑模式

Spread WinForms 中的 MultiOption 单元格类型 现在支持紧凑模式,该模式可改变 MultiOption CellType 的显示方式。可以使用新的紧凑型属性:


fpSpread1.ActiveSheet.Columns[0].Width = 200;
MultiOptionCellType cellType = new MultiOptionCellType();
cellType.Items = new string[] { "Diffuse", "A", "B" };
cellType.Compact = true;
cellType.Orientation = RadioOrientation.Horizontal;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = cellType;


 

单元格类型对话框

单元格类型对话框已更新为使用类似于 v17 中引入的对话框:


public static Form CellTypes(FpSpread spread, CellType.ICellType cellType); 

 

TabStrip 按钮自定义

现在可以通过 TabStrip.ButtonClick 事件自定义 TabStrip 按钮的行为。在下面的示例中,通过代码更改了上一个和下一个 TabStrip 按钮的默认功能。现在,它还会将下一个或上一个工作表设置为活动状态,而不是只去水平滚动工作表选项卡:


fpSpread1.Sheets.Count = 8;
fpSpread1.TabStrip.ButtonClick += TabStrip_ButtonClick; 
private void TabStrip_ButtonClick(object sender, TabStripButtonClickEventArgs e)
{
  Debug.WriteLine($"TabStrip_ButtonClick. {sender}. {e.Button}");
  if (e.Button == TabStripButton.Next)
  {
    fpSpread1.ActiveSheetIndex += 1;
  }
  else if (e.Button == TabStripButton.Previous)
  {
    fpSpread1.ActiveSheetIndex -= 1;
  }
}            


默认 TabStrip 功能

自定义 TabStrip 功能

 

双击向下填充

现在,可以通过双击所选单元格右下角的填充柄来填充 Spread .NET 中的公式。这样做会自动将公式复制到数据末尾,与相邻列中的行匹配。


fpSpread1.ActiveSheet.Cells[0, 0].Value = 1;
fpSpread1.ActiveSheet.Cells[1, 0].Value = 2;
fpSpread1.ActiveSheet.Cells[2, 0].Value = 3;
fpSpread1.ActiveSheet.Cells[3, 0].Value = 4;
fpSpread1.ActiveSheet.Cells[4, 0].Value = 5;
fpSpread1.ActiveSheet.Cells[0, 1].Formula = "PRODUCT(A1,5)";


 

状态栏的数字格式

现在可以根据与活动单元格相同的格式来格式化 Spread 实例底部状态栏中出现的数字。

V17.0

新增Ribbon工具栏组件

Spread Ribbon 工具栏组件 是 Spread.NET 的新增功能,允许您将 Designer 工具栏插入应用程序中与 Spread.NET 一起使用。这包括 Ribbon 选项卡、按钮、菜单和错误处理。您只需创建 Spread Ribbon 工具栏组件实例并将其附加到 FpSpread 实例即可:


ribbonBar1.Attach(fpSpread1);

您还可以使用 CommandExecuting 和 CommandExecuted 事件覆盖内置命令,并使用 ExecuteCommand 方法手动执行命令。

 

工作簿增强功能

页眉和页脚文本换行

新此版本中,Spread.NET 提供了 WrapText2 属性来给为列标题和列脚设置文本换行。

打印增强功能

Spread.NET 的打印功能已更新,增加了更多功能。包括:

  • 不同的页眉/页脚打印:选择如何打印页眉和页脚,例如仅打印第一页或奇数页和偶数页。
  • 导出打印页眉/页脚图像:可以导出包含图像的页眉和页脚。如果有多张图像,则仅导出第一张图像。
  • 逐份/不逐份打印选项:这个新选项允许用户选择是将页面整套打印还是每页打印多份。
  • Excel打印行为兼容:现在可以更改打印行为像 Excel 一样,因此如果将其设置为 true,打印结果将类似于 Excel,但与旧版本的 Spread.NET 不同。虽然所有行为不会与 Excel 完全相同,但我们正在继续更改和添加行为,使其更像 Excel。如果此选项为 true,也不支持打印为 PDF。

保存为 HTML

由于 .NET 和 .NET Core 已更新,无法再使用 SheetView.SaveHtml 方法将数据保存到 HTML。作为替代,现在可以通过 IWorksheet.SaveAs 和 IWorkbook.SaveAs 方法支持此功能。这些方法允许您以 HTML 格式保存工作簿或工作表。这仅限于单元格数据。

内置主题

Spread.NET 现在支持类似于 Excel 的内置主题。这些可用于更改工作表的外观,包括颜色和字体。除了保存、编辑和删除主题的自定义颜色和字体之外,您还可以自定义主题。

Office 365 默认主题 2023

新版本中添加了 Office 365 风格的新默认主题,以在您的应用程序中保持相同的外观。

自定义文档属性

Spread.NET 现在支持设置自定义文档属性,包括设置名称、类型和值属性。

获取单元格区域的最后一行/列

新的 IRange.End 方法允许您获取包含此单元格区域的末尾行列单元格的 IRange 对象。这对于确定设置数据的最后一行或最后一列很有用。

添加 ColumnDragMoveCompleting/RowDragMoveCompleting 事件

当用户通过拖动完成行或列的移动时,将触发 ColumnDragMoveCompleting 和 RowDragMoveCompleting 事件。

隐藏溢出动态数组的边界

使用动态数组时,指示器将显示它将溢出的位置。使用 DynamicArrayRenderer 属性,您可以选择隐藏此指示器。

粘贴选项增强

当 RichClipboard 选项设置为 True 时,用户可以选择各种粘贴类型,包括:

转到第一个/最后一个工作表

按住 Ctrl 键单击选项卡条的下一个和上一个按钮现在将分别导航到最后一个或第一个工作表。

IWorksheets 添加复制方法

IWorksheets 接口添加了 Copy 方法,用于复制一个单元格的目标/引用工作表以及在复制的工作表中创建引用状态。

使用鼠标滚轮左右滚动

Spread.NET 现在支持使用 Shift+Ctrl+鼠标滚轮在工作表中水平滚动。

 

公式计算增强

添加 EVALUATE 公式

Spread.NET 中添加了 EVALUATE 方法。此公式允许您将文本方程作为代数方程进行计算。该方法只能在命名范围内使用。

IRange.HasSpill API

Spread.NET 现在包含了一个 IRange.HasSpill API,类似于 Excel。此 API 有助于确定单元格区域是否包含溢出值。

 

图表增强功能

多级别分类标签

图表标签现在支持多行或多列,这有助于图表组织和可读性。

图表工作表

图表工作表是 Spread.NET 中的一种新型工作表,它只包含图表而没有其他内容。仅当 EnhancedShapeEngine 属性设置为 true 时,此功能才可用。这可以通过 API 以及右键单击工作表选项卡来实现:

在图表中嵌入形状

图表现在支持在其中嵌入形状。您可以在图表中插入一个形状,该形状可以正常交互,但受图表边界的限制。

 

形状增强

曲线形状

现在可以用曲线段绘制形状。这些可以通过代码或功能区栏完成。手动绘制它们时,通过移动并单击鼠标,然后双击、按 Enter/Esc 或单击起点来完成形状来添加它们。

在单元格中插入图片

Spread.NET 中的图片现在可以插入到单元格内。这是通过“粘贴选项”上下文菜单中的“在单元格中粘贴图片”(当 RichClipboard 设置为 true 时)和功能区栏中的“在单元格中插入图片”来支持的。

形状中支持垂直文本

只要将 EnhancedShapeEngine 属性设置为 true,形状现在就支持正确设置垂直文本。通过 TextOrientation.HorizontalRotatedFarEast 来完成设置。

 

支持.NET 8

Spread.NET V17 版本提供 .NET 8 支持。

 

快捷键

Spread.NET 已经支持了很多与 Excel 兼容的快捷键,在 V17 版本中,我们添加了对更多快捷键的支持,包括:

  • Ctrl + - :删除单元格
  • Ctrl + F3:显示名称管理对话框
  • Shift + F9 :计算活动工作表
  • F9:计算整个工作簿
  • Ctrl + Shift + T :显示/隐藏表格的总行
  • Ctrl + T :创建表
  • Ctrl + U :将文本格式设置为下划线
  • Ctrl + I :将文本格式设置为斜体
  • Ctrl + B:将文本格式设置为粗体
  • Ctrl + Shift + % :将文本格式设置为百分比
  • Ctrl + Shift + V:粘贴纯文本或粘贴值
  • Alt + Shift + 右箭头:创建轮廓组
  • Alt + Shift + 向左箭头:取消分组

 

性能改进

Spread.NET V17 版本还解决了一些性能问题,包括:

  • 使用箭头键移动焦点时出现滞后
  • 设置公式/值后计算单元格
  • 将 500 行溢出到 400 列后重新计算
  • 从旧版本升级的问题
  • 指数公式参考
  • 动态阵列优化

V16.0

格式、样式和数据输入

富文本编辑

允许用户在编辑时直接在单元格中输入具有多种文本颜色和字体样式的富文本。

支持复制/粘贴 多区域以及使用“单元格格式”对话框设置多范围样式

支持跨列居中

这样不需要合并单元格,允许最终用户更灵活地选择单元格。

Threaded Comments线程化批注

可以为单元格添加Threaded Comments,或者为已经创建的 Threaded Comments添加回复。不同于原有的注释功能,线程化批注。

允许用户通过填充效果对话框给注释使用渐变填充效果

图片效果

设置列页脚单元格的数字格式

设置冻结线宽度

为冻结和非冻结区域之间的线设置宽度。

新的公式支持

14 个新的文本和数组公式

  • 1、CHOOSECOLS :该函数从数组中返回指定的列
  • 2、CHOOSEROWS:该函数从数组中返回指定的行
  • 3、EXPAND:此函数将数组扩展或填充到指定的行和列维度
  • 4、HSTACK:该函数水平并按顺序附加数组以返回更大的数组
  • 5、TAKE:该函数从数组的开头或结尾返回指定数量的连续行或列
  • 6、TEXTAFTER:此函数返回出现在给定字符或字符串之后的文本
  • 7、TEXTBEFORE:此函数返回出现在给定字符或字符串之前的文本
  • 8、TEXTSPLIT:此函数使用列和行分隔符拆分文本字符串
  • 9、TOCOL:此函数在单列中返回数组
  • 10、TOROW:该函数在单行中返回数组
  • 11、VSTACK:该函数垂直并按顺序附加数组以返回更大的数组
  • 12、WRAPCOLS:此函数在指定数量的元素之后按列包装提供的行或列值,以形成新数组
  • 13、WRAPROWS:此函数在指定数量的元素之后按行包装提供的行或列值,以形成新数组

4 个新的预测公式(使用指数三次平滑 ETS)

  • 1、FORECAST.ETS:此函数使用 AAA 版本的指数三重平滑 (ETS) 算法,根据现有值计算或预测未来值
  • 2、FORECAST.ETS.CONFINT:此函数返回指定目标日期的预测值的置信区间。使用置信区间可以帮助掌握预测模型的准确性。较小的间隔意味着对该特定点的预测更有信心
  • 3、FORECAST.ETS.SEASONALITY:此函数返回应用程序检测到的指定时间序列的重复模式的长度
  • 4、FORECAST.ETS.STAT:此函数返回一个统计值作为时间序列预测的结果。统计类型指示此函数请求的统计信息

新的图像公式

Spread现在支持新的 Excel IMAGE 公式(IMAGE Sparkline 公式重命名为GC.IMAGE)

新的内置对话框

Spread现在为最终用户支持许多新的内置对话框:

插入函数对话框

可以在活动单元格中插入公式函数及其参数,或使用ToggleInsertFunction来显示对话框。

工作表保护选项

锁定工作表以指定允许用户使用保护工作表对话框或保护方法执行哪些操作。

Forecast Sheet

使用新的FORECAST.ETS和相关函数可以创建一个新表来预测未来值,或者使用Forecast Sheet 对话框来创建预测表。

Goal Seek

使用新的Goal Seek 对话框或Goal Seek方法来执行高级假设分析。

Table数据表对话框

用可以使用新的数据表对话框或DataTable方法在一系列单元格中添加计算数据表。

删除重复项

用户可以使用“删除重复项”对话框或RemoveDuplicates方法删除选定范围内的重复项。

Text-To-Columns

用户可以Text-To-Columns 对话框或TextToColumns 方法在目标范围内的列中拆分一系列单元格中的分隔文本。

V15.0 Update1

与微软提供完全相同的 .NET Framework 框架支持

微软在此前发布的博客文章中宣布将于 2022 年 4 月 26 日 结束对 .NET 4.5.2 的长期支持,为此 Spread .NET 表格控件现在都将使用 .NET 4.6.2 作为基线 .NET Framework 框架。

为 GrapeCity.Spread.WinForms.Design 引入了新的 NuGet包

Spread .NET 引入了一个全新的 NuGet包 GrapeCity.Spread.WinForms.Design,其中包含 Spread Designer 运行时组件 以及关联的对话框和其他用户界面元素。当您想要显示 Spread Designer的相关对话框(例如 Border Editor Dialog)或在应用程序内的运行时显示 Spread Designer 时,可以引用此包。

为 Spread 设计器设计全新的单元格样式 UI

Spread 设计器现在支持使用新的样式面板和 Ribbon 功能区栏中的下拉菜单来设置内置主题样式。所有标准 Excel 内置样式均可用,并且可以轻松创建和重复使用自定义样式。

使用“+”和“-”输入公式

Spread .NET 在输入单元格公式时不再需要以 “=” 开头,还可以识别以 “+” 和 “-” 开头的公式。当 AllowUserFormulas 为 true时,Spread .NET 便能识别“+” 和 “-” 开头的计算公式。

裁剪图片

Spread .NET 支持使用 ICrop 接口来裁剪图片,并指定偏移坐标和裁剪宽度、高度。这个增强功能可以更轻松地准确获取您想要显示的图像部分。

自动数字格式

Spread .NET 为有关数字的默认常规格式引入了新的增强行为。数字会被格式化为它们最初在单元格中键入时一样并显示,但如果完整值无法放入单元格中,则显示的值可能会被四舍五入,或者单元格甚至可能显示“##...#”表示该值不适合。Spread .NET 新的数字格式包括:

  • 小数样式:如果数字长于 11 个字符(包括小数位),则小数会四舍五入以显示最多 11 个字符,例如,123456.7891234 四舍五入为 123456.7891
  • 无小数样式:如果数字超过 11 个字符且没有小数,则将数字更改为科学格式,例如,123451234512 四舍五入为 1.23451E+11

7. 内联单元格图像

Spread .NET 的这项功能使开发人员或最终用户无需使用 ImageCellType 即可直接在工作表中加载和显示内联单元格图像。Image 对象可以直接设置到单元格中, 也可以使用 CellImageAttribute 在自定义数据类型 中使用 IRichValue 指定 Image 属性 ,这样可以同时显示单元格中的图像和值。

格式化数字单元格值

Spread .NET 的这项功能将指定的格式字符串与单元格值相关联,并允许格式字符串在公式中使用时跟随值。格式字符串可以是数字或日期时间格式。当公式引用单元格时,如果该单元格尚未应用单元格格式,它将自动选择要在公式单元格中应用的格式。

Spread .NET增加了与 Excel 兼容的键盘快捷键:Ctrl+PgUp 和 Ctrl+PgDn

使用 FpSpread.Features.ExcelCompatibleKeyboardShortcuts = true 启用此功能,这将更新键映射以自动支持最常见的 Excel 键盘快捷键。

立即下载

V15.0

支持 .NET 6.0,可通过 Nuget 获取

使用 Microsoft Visual Studio 中的 NuGet 包管理器,便可以轻松地在 .NET 6、.NET 5、.NET Core 3.1 和 .NET Framework 4.5.2 的项目中添加 Spread .NET 控件,在支持 .NET 5.0 和 .NET 6.0 的开发界面中,也可以直接从工具栏中拖入 Spread 控件。



(使用 NuGet 包管理器添加 GrapeCity.Spread.WinForms V15.0)

新增 17 个迷你图视觉效果组件

本次新增的迷你图效果组件可以使用公式或 Spread 设计器直接在单元格中创建数据图表。

这些迷你图包括:面积图、箱线图、子弹图、级联图、仪表 KPI 图、HBar、直方图、图像、月历、帕累托图、饼图、散点图、传播、堆叠图、变量图、VBar 和年历。


(Spread .NET控件的迷你图面板)



(级联迷你图公式示例)

新增 LAMBDA 函数,用户可以使用公式创建自定义函数

Spread .NET V15.0 中新增的 LAMBDA 函数将允许用户使用自定义名称和公式创建新的自定义函数,且这些新函数的操作类似于动态数组,可将返回数组结果溢出到相邻单元格。 在 Spread .NET 中,您可以直接复制或粘贴这些函数的公式以在任何工作簿中定义它们,并且像​​内置函数一样在公式中使用它们。



(LAMBDA 函数示例)

新增 7 个 LAMBDA 辅助函数和相关功能增强

为了更易创建 LAMBDA 公式,Spread .NET V15.0 加入了七个全新的 LAMBDA 辅助函数,即 BYCOL、BYROW、ISOMITTED、MAKEARRAY、MAP、REDUCE 和 SCAN。

在使用通用的公式语法很难创建公式时,这些新的辅助函数可以让用户轻松的创建 LAMBDA 公式。



(LAMBDA 辅助函数示例)

除了上述 7 个辅助函数外,其他一些增强项包括:

  • 在公式中保留空格:由于创建 LAMBDA 函数需要更长、更复杂的公式表达式,因此在公式中保留空格可使其更具可读性和清晰易懂性。
  • 名称管理器对话框增强功能:名称管理器对话框允许调整和扩展文本框的大小,以便轻松查看和编辑 LAMBDA 函数所需的复杂多行公式。
  • 名称支持双字节字符:现在支持使用双字节字符来自定义名称。

相机形状增强,支持自由形状和自由涂鸦

Spread .NET 中的自由涂鸦工具允许用户像在 Excel 中一样,快速且轻松地打开或关闭自定义形状。



(Spread设计器中的自由形状和自由涂鸦)

数据绑定增强,可将任何 .NET 数据源绑定到表格中

Spread .NET V15.0 中的数据绑定增强功能可将任何 .NET 数据源绑定到表格中,且绑定方式支持双向绑定,即数据更改后会同步刷新数据源的值。



(表格绑定增强示例)

支持多种富文本导入

Spread .NET V15.0 在导入 XLSX 文件时支持富文本导入,如多种字体、文本样式、颜色、上标、下标等。



(带有下标、上标等的富文本导入)

使用 FpSpread.Features.RichText 函数可以轻松启用 Spread.NET V15.0 中的富文本导入功能。

增强的边框渲染和打印支持



(导入的 XLSX 的增强边框渲染)

使用 FpSpread.BorderCollapse = BorderCollapse.Enhanced 可以轻松启用 Spread .NET V15.0 中的增强边框渲染,以允许导入包含复杂合并单元格的 XLSX 文件,这些单元格边框的类型和宽度与 Excel 完全相同。

使用默认的平面样式(例如,未使用 LegacyBehaViors.Style)时,Spread .NET V15.0 中的打印支持也得到了增强,可以支持打印所有的单元格样式,包括渐变填充、会计格式等。

增强条件格式对话框



(增强的条件格式对话框)

Spread .NET V15.0 中的增强条件格式对话框支持复制规则按钮和调整对话框大小,从而更容易管理工作表中的条件格式。此对话框可以在运行时调用 API ConditionalFormattingUtils.ShowConditionalFormattingManagerForm 显示。

可插入剪切/复制的单元格

Spread .NET 的插入剪切/复制单元功能可以通过 FpSpread.Features.RichClipboard 启用。使用该功能的优势是:在复制或剪切范围的周围显示动画虚线边框; 包含“插入复制单元格”或“插入剪切单元格”的新上下文菜单项,以及用于插入行或列的增强型插入对话框。



(插入剪切/复制的单元格)

其他新增功能

增强 Excel 键盘快捷键和操作兼容性

在Spread .NET中,使用 FpSpread.Features.ExcelCompatibleKeyboardShortcuts即可启用新增的 Excel 兼容键盘快捷键,包括 CTRL + A 以选择表格单元格、表格范围、工作表或相邻的非空单元格。



(增强的Excel 兼容键盘快捷键)


ComboBoxCellType可以作为数据验证导出到Excel

使用 Spread .NET 的 ExcelSaVeFlags.ComboAsDataValidation 函数可将 ComboBoxCellType 作为数据验证列表导出到 XLSX 文件中,使用 ExcelOpenFlags.DataValidationAsCombo 可将 XLSX 文件中的数据验证列表导入为 ComboBoxCellType。



(导出 ComboBoxCellType 作为数据验证)


图像单元格类型使用文件路径显示图像

对于图片单元格类型,Spread .NET允许通过将单元格中的值设置为图像的文件路径来自动加载图像。重复图像会自动缓存并跨单元重用,以优化具有许多图像的用例。



(ImageCellType 使用图片文件路径)


新增 26 个 VSTO 风格的 API

Spread .NET V15.0 为 IRange 和 IWorksheet 提供了 26 个全新的 VSTO 风格 API:

  • IRange.AutoFill – 将范围自动填充到指定的目标范围
  • IRange.HasRichDataType – 如果范围包含富文本数据类型对象,则返回 true
  • IRange.Resize – 调整范围尺寸
  • IRange.Width –返回范围的宽度
  • IRange.Top -返回范围相对于工作表顶部的顶部坐标
  • IRange.Height –范围的高度
  • IRange.Left –返回范围相对于工作表左侧的左侧坐标
  • IRange.UseStandardWidth – 设置或返回范围内的列是否使用标准宽度
  • IRange.UseStandardHeight – 设置或返回范围内的行是否为标准高度
  • IRange.ShowCard – 显示范围内富单元格数据类型对象的数据卡
  • IRange.Show – 滚动工作表以显示指定的单元格(IRange 必须是一个单元格)
  • IRange.Next – 模拟 TAB 键导航到下一个可编辑单元格
  • IRange.PreVious – 模拟 SHIFT + TAB 键导航到上一个可编辑单元格
  • IRange.FillDown – 使用顶部单元格中的值向下填充范围
  • IRange.FillLeft – 使用右侧单元格中的值填充左侧范围
  • IRange.FillRight – 使用左侧单元格中的值填充右侧区域
  • IRange.FillUp – 使用底部单元格中的值向上填充范围
  • IRange.Dirty – 指定范围内的单元格要在下一个计算周期重新计算
  • IRange.BorderAround – 在范围内的单元格周围设置指定的边框(轮廓边框)
  • IRange.Characters – 获取将格式应用于部分单元格值的字符
  • IRange.SpecialCells – 获取指定类型范围内的单元格
  • IWorksheet.UsedRange – 返回工作表中包含值的范围
  • IWorksheet.StandardWidth – 设置或返回工作表中的标准列宽
  • IWorksheet.StandardHeight – 设置或返回工作表中的标准行高
  • IWorksheet.Next – 模拟 TAB 键导航到下一个可编辑单元格
  • IWorksheet.PreVious – 模拟 SHIFT + TAB 键导航到上一个可编辑单元格
立即下载

V14.0 Update1

新增事件函数,用于重新计算引用单元格的值

新增的事件函数可以使开发人员按需控制计算结果,并对引用单元格的值重新计算。

以下是具体使用方法:将 CalculationOnDemandMode 设置为 CalculationOnDemandMode.Off,可强制相关的单元格立即重新计算,并同步触发每个单元格的 CellValueChanged 事件。

查找和匹配功能的性能改进

本次发布,Spread .NET 新增了一个 API(CalculationEngine.CacheOptions),用于优化查找和匹配函数的性能。使用这个 API,可以优化 LOOKUP、HLOOKUP、VLOOKUP、XLOOKUP、MATCH 和 XMATCH 等工作簿中的查找匹配功能。

注意:要启用这个 API,请将 CalculationEngine.CacheOptions 设置为 CacheOptions.On 或 CacheOptions.Aggressive。

新增函数:VALUETOTEXT 和 ARRAYTOTEXT

本次发布,Spread .NET 引入的一些新的计算函数来匹配 Excel 公式 VALUETOTEXT 和 ARRAYTOTEXT 。这些函数的操作方式与 Excel 中的操作完全一致。

新增API:GetFullDependents 和 GetFullPrecedents

本次发布,Spread .NET 引入了新的 API IRange.GetFullDependents 和 IRange.GetFullPrecedents,可返回所有引用单元格,包括跨工作簿和外部引用。由于这两个 API 与 VSTO的 API 功能高度类似,因此 IRange.GetDependents 和 IRange.GetPrecedents 可以在 Excel 的工作表中运行。

饼图新增百分比标签

本次发布,使用 Spread .NET 可以像在 Excel 中一样启用在饼图中设置百分比标签的功能。

使用方法:创建饼图并为该系列添加数据标签后,可以使用“设置数据标签格式...”为饼图切片标签指定百分比类型,如下所示:



(将饼图数据标签格式转化为百分比)

支持通过选项卡上下文菜单隐藏/取消隐藏工作表

此功能可以在 Spread Designer 工具中隐藏和取消隐藏工作表。如今,用户即可以使用 PropertyGrid 来隐藏工作表、设置工作表的 Visible 属性,还可以选择在“ Spread Designer 首选项”中指定是否显示隐藏的工作表:



(Spread Designer首选项中的“显示隐藏的工作表”选项)

当此选项为 false 时,新的“隐藏和取消隐藏...”上下文菜单选项将出现在工作表选项卡的上下文菜单中:



(工作表选项卡上下文菜单中的“隐藏/取消隐藏”项)

按设定像素的数量实现像素级滚动

本次发布,使用 Spread .NET 可以将垂直滚动条设置为使用鼠标滚轮以特定数量的像素为增量滚动。

使用方法:VerticalScrollBarMode.PixelEnhanced API 启用此行为,使用属性 VerticalScrollBarSmallChange 的值确定要滚动的像素数量。

V14.0

支持 .NET 5 和 .NET Core 3.1

Spread .NET V14.0 提供了一个用于 .NET 5 和 .NET Core 3.1 WinForms 开发环境的 NuGet 程序包。

使用这个新程序包,就可以在 .NET 5 和 .NET Core 3.1 中使用 Spread 表格控件创建 WinForms 应用程序,并使用 GrapeCity Spread .NET 控件移植现有的 WinForms 项目。

单元格类型增强,可以将 .NET 对象作为自定义单元格类型

单元格类型增强是 Spread .NET 14.0 中的一项主要更新。

借助这一更新,你可以通过自定义数据类,来创建自定义单元格类型,然后使用该类创建对象并将其设置为单元格的值。该对象将使用自定义图像显示在单元格中,并显示该对象的默认属性。

另外,当该单元格处于活动状态时,“插入数据”工具将显示在该单元格旁边(请参见上图的 B12 单元格)。单击“插入数据”工具后,将显示一个弹出列表,列出可在相邻单元格或列中插入的可用数据字段:

单击弹出列表中的字段将自动插入适当的公式,您也可以单击单元格中的标志符号,或在单元格处于活动状态时按 Ctrl + Shift + F5 来显示对象的数据卡片:

要创建这些数据类型,可以为单元格数据类型先定义类,并指定要显示的属性,然后创建这个类的对象实例,并创建 RichValue 来实现 IRichValue 对象。

当然,你也可以直接在单元格数据类型类上实现 IRichValue 并通过接口指定字段(上面示例中的 Vehicle 类就是通过这种方式实现的)。

为了加速创建单元格的自定义数据类型,Spread .NET 实现了内置的类 BuiltInRichValue,可用于将 DataView 或 DataTable 包装在单元格数据类型内,如下图所示:

超链接功能增强

Spread .NET 14.0 增强了超链接功能,包括:

  • 链接到单元格引用
  • 链接到命名范围
  • 链接到tables
  • 链接到电子邮件
  • 链接到网站和文件
  • 从单元格,形状和图像上来链接
  • 自定义链接的提示文本
  • 编辑单元格时自动创建链接

通过启用 AutoCreateHyperlink 功能,在 Spread .NET 中编辑单元格时可以自动创建超链接,包括使用特殊语法(例如“spread://Sheet1!A1”)指定工作簿内部链接的位置,该语法还支持命名范围(如“spread://SalesSummary”)和表格名(如“spread://Table1”)。

使用 Ctrl + K 调用 “编辑超链接”对话框,就可以修改链接目标,如要显示的文本和屏幕提示文本:

新增 LET 函数,优化计算效率

LET 函数允许您在公式中预定义名称,然后使用这些名称来计算表达式。

例如,一个简单的表达式“SUM(x, 1)”,其中 x 是一个命名参数,可向它赋值(在本例中,x 的赋值为 5)。
=LET(x, 5, SUM(x, 1))
将此公式输出到单元格后,它将返回值 6。

使用此函数,你不必记住特定范围或单元格引用的是什么,也不用关心一个计算做了什么,甚至不必再复制粘贴相同的表达式。

该函数通过消除多余的中间值来优化你的计算速度,中间值仅需计算一次,便可重复使用。

在上面的示例中,左侧的电子表格使用LET 函数来优化计算,其计算结果比不使用 LET 功能并执行相同计算的右侧电子表格快了三倍。

支持移动 Sharp 形状中的点来创建自定义形状

Spread .NET 的形状引擎支持导入和创建 Microsoft Excel 形状。

在新版本中,新增的“编辑点”命令使用户可以自定义形状中的点和线段。右键单击形状,可在上下文菜单中使用“编辑点”命令:

选择任何增强形状时,“编辑点”命令也可在Spread Designer功能区栏中的“编辑形状”菜单里找到:

在增强形状上使用“编辑点”时,可以单击并将“形状点”拖动到新位置,或者通过单击该点来选择要编辑的“形状点”,然后使用方向键移动该点。

选择“形状点”后,相邻线段的关联控制点显示为白框:

通过控制点可以修改选定形状点和相邻形状点之间的曲线。上图中在右上角选择的形状点是一个角点,因此控制点与形状点成直角。这些控制点可以独立移动,以修改相邻线段中的曲线。您可以使用鼠标将其拖放,也可以使用箭头键,单击并选择一个点。

右键单击该点可以查看 “形状点”的上下文菜单,该菜单可用于添加和删除形状点、打开和关闭路径以及在“平滑点”、“直线点”和“角点”之间切换所选点:

如上图,泪滴形状有五个点:左侧和底部有两个平滑点,顶部和右侧有两个直线点,右上角有一个角点。

更改形状点类型将重置曲线点,添加新点可以创建更复杂的形状。

快捷键组合:

  • 通过 Ctrl 键+单击相应位置可以添加一个新的形状点
  • Ctrl 键+点击形状点可以删除此形状点
  • 移动一个控制点并按下 Shift 键键可将其改变为平滑点
  • 按 Ctrl 键,可将形状点更改为直线点
  • 按 Alt 键,可将形状点更改为角点

在调用“编辑点”命令后,“形状点”将显示在形状中的当前位置,当鼠标悬停在形状点上时,光标将变为十字状以示拖动点:

键盘快捷键增强,可为用户启用与 Excel 完全兼容的键盘快捷键

Spread .NET 14.0可为最终用户启用与 Microsoft Excel 完全兼容的键盘快捷键。

通过将FpSpread.Features.ExcelCompatibleKeyboardShortcuts设置为true,即可加载这些键盘映射,设置 FpSpread.Features.ExcelCompatibleKeyboardShortcuts = false 将删除这些键映射并恢复默认设置:

使用InputMap API创建自定义键映射,可为DisplayFormulas、ShowFormatCellsDialog、ShowCard、ShowHyperlinkDialog和EditMultipleCells这几个新的SpreadAction对象创建自定义快捷方式。

支持如 Excel 相同的多工作表选择功能

Spread .NET 支持像 Microsoft Excel 一样使用Ctrl + 单击工作表选项卡来选择多个工作表。

当多个工作表被选中时,用户可以拖放选定的工作表,并重新排列在工作簿中。如下所示,Sheet1和Sheet3都被移动到工作簿Sheet4之后:

在拖动选定的工作表时按Ctrl键,将复制这些工作表而不是将其移动:

可切换显示公式与计算结果

和 Microsoft Excel 一样,Spread .NET 支持按 Ctrl +` 来切换显示公式本身还是计算结果。

要启用此命令,必须在设计时或代码中将 FpSpread.Features.ExcelCompatibleKeyboardShortcuts 设置为 true,如下图所示:

默认显示计算结果:

点击显示公式:

V13.0

增强形状(Shape)引擎,与 Microsoft Excel® 100% 兼容

Spread .NET 在新版本中增强了形状引擎,该引擎与 Microsoft Excel® 100% 兼容,和此前的形状引擎相比,新引擎与 Excel 的兼容性更高,功能也更完善。

1. 新的形状引擎支持所有 Excel 形状:

Spread支持所有Excel形状

(Spread支持所有Excel形状)

2. 新引擎支持多组形状组合,可用于创建图表、结构图和流程图:

在Spread中创建的流程图示例

(在Spread中创建的流程图示例)

3. 新的形状引擎可用于创建丰富的交互式界面,比如一个汽车保险索赔示例:

使用 Spread 形状创建的汽车保险索赔示例

(使用 Spread 形状创建的汽车保险索赔示例)

要使用这个形状引擎,可以通过“属性网格”启用它:

启用形状引擎

(启用形状引擎)

也可以直接通过代码启用:

【C#】

fpSpread1.Features.EnhancedShapeEngine = true;

【VB】

fpSpread1.Features.EnhancedShapeEngine = True

增强形状(Shape)属性的绑定机制,以设计更多交互式形状

Spread .NET 形状属性的绑定机制在本次发布中得到增强,支持将 AutoShapeType、TextEffect、Fill、Line、Top、Left、Height 和 Width 等属性绑定到特定的单元格中,用来设计更为丰富的交互式界面。同时,利用单元格公式的计算结果,还可以动态更新这些属性。

举例:

在上面的汽车保险索赔示例中,各形状的详细属性在 Sheet2 中如下所示:

塑造汽车保险索赔示例的属性绑定

(塑造汽车保险索赔示例的属性绑定)

通过代码来绑定形状的属性:

【C#】

 IWorkbook workbook = fpSpread1.AsWorkbook(); IShapes shapes = workbook.Worksheets[0].Shapes; // bind shape properties to cells shapes["Front"].Bindings.Add("Left", "Sheet2!B2"); shapes["Front"].Bindings.Add("Top", "Sheet2!C2"); shapes["Front"].Bindings.Add("Width", "Sheet2!D2"); shapes["Front"].Bindings.Add("Height", "Sheet2!E2"); shapes["Front"].Bindings.Add("Line", "Sheet2!F2"); 

【VB】

 Dim workbook As IWorkbook = fpSpread1.AsWorkbook Dim shapes As IShapes = workbook.Worksheets(0).Shapes   bind shape properties to cells shapes("Front").Bindings.Add("Left", "Sheet2!B2") shapes("Front").Bindings.Add("Top", "Sheet2!C2") shapes(Front").Bindings.Add("Width", "Sheet2!D2") shapes("Front").Bindings.Add("Height", "Sheet2!E2") shapes("Front").Bindings.Add("Line", "Sheet2!F2") 

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

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

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

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

(使用属性面板启用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 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为“国家/地区”表列创建的切片器

(Spread为“国家/地区”表列创建的切片器)

用于自定义数据可视化的 VisualFunction

Spread .NET 在新版本中新增了一个名为 VisualFunction 的新型自定义计算功能。

使用这个功能,您可以定义一个自定义公式函数,用来在单元格中绘制内容或应用格式,使用此功能在单元格中绘制内容类似于创建迷你图,但比创建迷你图还要简单。

此功能与 Spread 新的计算引擎和新函数类的 VisualFunction 集成在了一起。

举例:

您可以自定义绘制 QR 代码的 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 不需要引用包含 _ lookup_array _ 和 _ return_array _ 的全部范围,仅需引用特定范围即可。因此就计算效率而言,XLOOKUP 可以比 HLOOKUP / VLOOKUP 更高效。
  • 因为使用了范围引用,XLOOKUP 在插入、删除和移动 _ lookup_array _ 或_ return_array _ 的列、行时会自动调整。
  • Spread .NET 中对 XLOOKUP 和 XMATCH 进行了增强,支持 _search_mode 0 - All_ (它用来返回数组中的所有匹配项,防止当启用动态数组时,这些项因为溢出到相邻的单元格中而没有被匹配到)。

从上面的最后一点可以看出,启用动态数组功能时,为了避免遗漏数据,需要借助 _ search_mode 0-All _ ,而只有 XLOOKUP 和 XMATCH 才能支持它。

在Spread功能区中启用“动态数组”

(在Spread功能区中启用“动态数组”)

通过代码启用动态数组:

【C#】

pSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = GrapeCity.Spreadsheet.CalcFeatures.DynamicArray;

【VB】

fpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = GrapeCity.Spreadsheet.CalcFeatures.DynamicArray

公式值自动格式化

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

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

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 计算函数以及增强的 search_mode 0_ 来返回数组中的所有匹配项。

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

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

7. 切片器示例

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

8. 形状引擎功能示例

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

V12.0 Update2

WinForm平台功能优化

  • 当为电子表格应用程序启用 DPI 感知时,图标将正确缩放。[273689]
  • 使用自定义函数:AddCustomFunctions() 方法,在打开 Excel 文件后将正确重新计算。[269202]
  • 用户可以将自定义排序逻辑应用于电子表格中。[273437]
  • CellChanged 事件现在可以正常触发。[273963]
  • 加载特定的 XML 文件和复制公式引用另一个工作表的单元格时,粘贴的值现在正确显示。具有公式的复制粘贴单元格现在工作正常。[274165]
  • 编辑后在子视图中使用 RecalculateAll() 方法时,不会引发异常。[274182]
  • 用户可以加载使用跨页 WinForms 10 保存的 XML 文件。[270695]

V12.0 Update1

动态数组支持:大幅简化计算公式,提高公式运算效率

Excel 2019 推出了动态数组函数,用于简化复杂计算公式:使用动态数组,返回值将自动“输出”到相邻单元格中(未使用的)。用户只需编写一个简单的公式,而不是编写复杂的数组公式就可解决多单元格问题。

Excel 动态数组功能预览

(Excel 动态数组功能预览)

作为一款与 Excel 高度类似的表格控件,在 Spread .NET V12.1 中,也加入了如 Excel 动态数组一样的功能。

如何在 Spread .NET 中使用动态数组

首先,需要在 Spread 设计器中启用动态数组——默认情况下,动态数组不会自动启用,您需要通过以下方式之一显式启用它们:在Windows窗体的 Spread设计器(SpreadDesigner)中,有一个新的“公式”选项卡,如下图:

如何在 Spread .NET 中使用动态数组

(如何在 Spread .NET 中使用动态数组)

在“计算引擎”菜单中选中“动态阵列”框,以启用对动态阵列的支持。

除此之外,您也可以使用代码(通过调用 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}“ 这样的公式,其硬编码水平和垂直溢出的二维数组值如下图:

二维数组垂直和水平溢出

(二维数组垂直和水平溢出)

在相邻空白单元格中放置值的行为称为“填充(Spilling)”,当选择溢出范围内的任何单元格时,Spread .NET 会用浅蓝色边框,指示公式的“填充范围”,并且FormulaTextBox将单元格公式显示为已禁用且不可编辑。

Spread .NET 动态数组的强大功能

Spread .NET 现在支持六种动态数组函数:

  • SEQUENCE和RANDARRAY函数可以生成顺序或随机数据的数组
  • FILTER、SORT、SORTBY 和 UNIQUE 函数主要用于筛选、排序、删除重复项等功能

使用动态数组,当您的数据发生变化时,设计器将自动调整大小并重新计算,让您的数据分析工作前所未有的简单。

Spread .NET 动态数组的使用场景

仅使用带有 RANDARRAY 的 SORTBY,即可为列表创建随机排序:

使用SORTBY和RANDARRAY随机排序值列表

(使用SORTBY和RANDARRAY随机排序值列表)

仅使用 SEQUENCE 和 NOW 函数,实现每 10 分钟创建一个时间表计划标题:

使用SEQUENCE安排每隔十分钟

(使用SEQUENCE安排每隔十分钟)

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

仅使用三个公式创建的数据透视交叉分析

(仅使用三个公式创建的数据透视交叉分析)

Spread .NET 设计器增强:公式追踪 & 动态数组公式选项卡

Spread .NET 设计器(Spread Designer) 中新增了 Formulas选项卡,包含全新的动态数组支持(默认情况下不启用)、定义名称、公式审计和用于计算的工具。

Spread .NET 设计器的公式追踪

在使用公式时,有时需要了解公式中引用了哪些单元格的数据,这就涉及到公式追踪的操作。在 Spread .NET V12.1 中,这些用于公式追踪的工具可以在TracePrecedents,TraceDependents 和 Remove Arrows 中的 Formula Auditing 组下找到:

Spread .NET 设计器的公式追踪

(Spread .NET 设计器的公式追踪)

新增如 Excel 般的行、列交替样式支持

Spread .NET V12.1 加入了如 Excel 般的行、列交替样式支持,为交替行或列(通常称为色带)添加颜色,以便使工作表中的数据更易于浏览,此功能包括对内置Excel样式和主题的支持,如颜色渐变和图案填充。

新增如 Excel 般的行、列交替样式支持

(新增如 Excel 般的行、列交替样式支持)

实现方法:当需使用交替样式时,直接调用 AlternatingRows类包装的新接口即可,或者您也可以直接调用GrapeCity.Spreadsheet.dll的新公共接口来创建交替的行和列样式。

与 VSTO 类似的基于 1 的索引:更易于 VBA 代码移植

通过创建 IWorkbook,Spread .NET 为所有 GrapeCity.Spreadsheet.IWorkbook API(如 Microsoft Excel® VSTO API)提供了与 VSTO 类似的基于 1 的索引,这样做的目的是:可以轻松地将 Excel VBA 代码或旧的 Spread COM 代码(基于 1 的行和列索引部分)移植到 .NET 平台下(后者曾一直使用基于 0 的索引来支持以前版本中的所有 API,以实现 CLS)。

Spread .NET 为何要使用基于 1 的索引

鉴于 Microsoft Excel ® 支持Visual Studio Tools for Office(VSTO)的Visual Basic forApplications(VBA)对象模型中基于1的索引,而Spread .NET的常见使用场景便是从支持宏的 Microsoft 中创建使用VBA 和 VSTO的 电子表格应用程序。所以,Spread .NET使用基于 1 的索引,将更易于VBA 代码移植。

实现方法:只需一次调用,即可获得基于1的索引对象:

【C#】

 IWorkbook iwb = WorkbookSet.CreateBase1Object(fpSpread1.AsWorkbook());

【VB】

Dim iwb As IWorkbook = WorkbookSet.CreateBase1Object(FpSpread1.AsWorkbook())

AsyncFunction 全新的异步函数和属性

Spread .NET 对创建自定义计算功能提供了丰富的支持,如使用AsyncFunction类创建类似RTD函数的异步函数。RTD 函数自 Excel 2002 引入,主要用于查看和更新实时数据。在 Spread .NET V12.1 中,您可以创建继承自 AsyncFunction 的自定义计算函数,实现对异步计算的支持,还可以通过各种 FunctionAttributes 来指示特殊函数的行为,如波动率或返回数组值。

如 Excel 般的“取消选择”功能

在 Excel 中,使用 CTRL 键配合鼠标或键盘可以选中或删除特定的单元格。而在 Spread .NET V12.1 中也将提供该功能, 这意味着您可以轻松地选择一系列单元格以应用某些更改,对于需要选择大范围数据的使用场景来说,这个功能将非常实用!

新的 F4 行为

Excel 支持在编辑公式引用时使用F4键,在绝对和相对列和行引用之间切换引用。这个功能在 Spread .NET 中也得以实现, 这种细节处更新可以使具有特定相对和绝对要求的公式比以前更易实现。

V12.0

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

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

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

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

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

使 Spread .NET 更像 Excel

Spread .NET V12 在新实例中对控件的默认行为进行了一些重大更改。Spread .NET 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 .NET 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 .NET v12 跨工作簿引用

(Spread .NET v12 跨工作簿引用)

其他功能增强

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

V11.0 Update2

性能大幅增强

现在,Spread .NET 表格控件在针对数据处理和过滤时的速度较之前提升了两到十倍,并且使用的内存远远少于上一版本。您将在进行数据过滤和导入文件时看到明显的改进。

462 种 Excel 公式支持

Spread .NET 新增了十几种用于科学,统计,工程和商业的 Excel 公式支持。 点击了解详情

DLL 上的数字签名

从这个版本开始,Spread .NET 的每个程序集都将使用 GrapeCity 的数字签名。

Spread for WinForm

增强颜色筛选

如Excel一样,增强颜色筛选用户界面支持按“无填充”进行筛选。

Spread .NET V11.1 新特性 - 增强颜色筛选

为了支持该功能,DefaultStyleCollection.DataAreaDefault 的默认 BackColor 从 SystemColors.Window 更新为 Color.Empty。

为 TEXT 函数提供 Excel 语法支持

为和 Excel 行为一致,TEXT 计算函数现在使用 Excel 语法对值进行格式设置(替代了过去使用 .NET 语法)。如需恢复使用 .NET 语法来格式化值,可以使用以下代码将旧的 TEXT 函数作为自定义函数进行添加,该自定义函数将覆盖内置的 TEXT 函数:

fpSpread1.AddCustomFunction(new GrapeCity.Spreadsheet.Win.TextFunction());

Spread for ASP.NET

如Excel一样,增强颜色筛选用户界面支持按“无填充”进行筛选。为减少具有大量隐藏单元下的视图状态大小,可将新属性 AllowGenerateHiddenData 设置为 false。 此属性比 AllowGetAllHiddenValue 更强大。当其设置为 false 时,表单中的所有隐藏值都保留在服务器端,从而减少视图状态的大小,并提高了页面安全性。在这种情况下,客户端接口 GetHiddenValue 和 GetHiddenCellValue 将不起作用。

其他功能增强

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

V11.0

Spread for WinForm

增强 spread 产品性能

新版本大幅提升了 Spread 产品的性能。无论是大数据量、丰富样式、复杂公式的文件,在导入、导出时间消耗和计算内存等方面,都有明显的提升。

Spread .NET V11 新特性 - 打印

增强打印功能

新增的打印增强功能包括:完全支持打印预览用户界面中内置的打印机设置。用户可以感受到和 Excel 一样亲切的体验。

Spread .NET V11 新特性 - 打印

增加单元格和数据验证

新增的单元格验证和增强的数据验证,为用户数据输入提供了强大的新选项,并支持在 Excel 文档中保存和加载数据验证。支持了 Excel 中提供的 8 种数据验证类型,包含:任何值、整数、小数、序列、日期、时间和文本长度以及自定义。

Spread .NET V11 新特性 - 单元格和数据验证

增加更多公式支持

新增 130 多个计算公式,使公式总数达到了 462 个。新支持数组公式(使用 Ctrl + Shift + Enter 输入)可以实现高级矩阵和数组计算。当用户输入创建循环引用的公式时,触发新添加的 CircularFormula 事件。

Spread .NET V11 新特性 - 公式

增加公式一览表

本次增加 spread 所有支持公式一览表。

Spread .NET V11 新特性 - 公式一览表 Spread .NET V11 新特性 - 公式一览表 Spread .NET V11 新特性 - 公式一览表 Spread .NET V11 新特性 - 公式一览表

增加保护工作簿功能

新增保护工作簿结构功能,并可设置密码。该功能保护工作簿结构并防止用户删除或重新排序工作表。

增加文档属性接口

新增接口来获取和设置文档属性,包含:标题,主题,作者,公司等。

Spread .NET V11 新特性 - 文档属性

增加超链接单元格类型支持排序和过滤

新的增强型 HyperLinkCellType 现在可以很好地处理排序和过滤功能。

Spread for ASP.NET

增强命令栏

命令栏支持用于 PDF 导出和 Excel 文档导出的新按钮以及密码选项。

Spread .NET V11 新特性 - 增强命令栏 Spread .NET V11 新特性 - 增强命令栏

支持移动行

支持从行头单元格拖放,即可直接在用户界面中移动行的功能。

Spread .NET V11 新特性 - 移动行

其他功能增强

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

V10.0

WinForm 和 ASP.NET

新增 Excel 2016 图表类型

  • 直方图
  • 瀑布图
  • 漏斗图
  • 箱形图
  • 旭日图
  • 树状图

新增Excel2016图表类型 新增Excel2016图表类型  

Spread for WinForm

新增单元格类型

  • Gc 字符掩码
  • Gc 组合框
  • Gc 掩码
  • Gc 数值
  • Gc 文本
  • Gc 时间间隔

新增单元格类型

类Excel 状态栏

类Excel状态栏

单元格级别锁定样式

支持设置不同于整个表单的单元格特有锁定样式。

Spread for ASP.NET

支持包含图片的 Excel 文件进行导入导出

导入导出Excel 导入导出Spread

整数单元格类型新增下拉数字键盘

数字键盘

新增 FormulaExtender 组件

通过这个组件,我们可以在 Spread 之外引用公式。

FormulaExtender组件

其它功能增强

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

V9.0 Update1

SpreadJS 产品包独立,不再包含在 Spread .NET 套包中。 点击查看 SpreadJS 版本新特性。

Spread for WinForm

  • 提升增加行时的性能。
  • 提升加载 XML 文件的性能。
  • 提升分组性能。
  • 增强打印页眉页脚导出到 Excel 文件的能力。
  • 想了解本次发布更多细节请参考 发布说明。

Spread for ASP.NET

  • 增强跨页引用空单元格公式。

Spread for Silverlight

  • 增强导入含有多条件格式的 Excel 文件类型。

Spread for WPF

  • 增强导入 Excel 文件的打印设置。
  • 增强导入含有多条件格式的 Excel 文件类型。
  • 增强控件添加时的 Licenses.licx 文件的更新。

Spread for WinRT

  • 增强导入含有多条件格式的 Excel 文件类型。

V9.0

所有平台

支持 Windows 10, Visual Studio 15, 以及Excel 2016。Spread 紧随微软的步伐:
  • 全面支持 Visual Studio 15
  • 全面支持 Windows 10操作系统和 Edge
  • 全面支持 Excel 2016文件的导入和导出,以及 Office 2016主题。
所有平台

SpreadJS

预览和打印数据视图

在页面上添加打印按钮,可以直接打开标准的浏览器打印窗口。SpreadJS 满足您的各种打印细节设置需求:自适应文本高宽打印、网格线、边框、页眉、页脚、边距、页面自适应、页面尺寸、插入分页符等等。导入或导出 Excel 文件之后,打印设置依然可以保留。
预览和打印数据视图

表格切片器

通过类似 Excel 的表格切片器过滤和分析数据。您可以以两种方式使用它。一种是类似 Excel 的按钮切片器,其提供一组便利的过滤器。另一种是使用切片器工具集添加便利的工具,比如按钮、复选框和滑动条等,允许您通过值、日期范围和数字范围切分数据。第一种方式提供了经典的 Excel 体验,第二种方式提供了更多的您期待的来自稳健数据网格的互动体验。您也可以使用柱形图作为切片工具以提供向下钻取功能。SpreadJS 切片器支持单独使用。
表格切片器

汉化

SpreadJS 支持汉字和中文本地化界面。菜单、提示和公式等部分全面本地化。
注:SpreadJS 本地化只包含 SpreadJS 产品本身,不包含设计器和 ExcelI/O 部分。
汉化 汉化 汉化

Excel 导入/导出

老版本中, SpreadJS 的 Excel 导入/导出功能要求安装在网络服务器上。而现在,其作为一个组件,Excel I/O 允许您免费再分发,并提供公共接口方便您调用。

固定位置浮动对象

浮动对象目前提供固定位置属性,您可以添加图表、图片或者其他不需要用户滚屏浏览表格的对象。

设计器增强

  • 增强粘贴:可以选择粘贴所有、粘贴值、粘贴格式、或者粘贴公式。
  • 标签颜色:在设计器界面上可以更改表单标签颜色。
设计器增强

类Excel 行为的增强

  • 隐藏行列指示器

  • 隐藏行列指示器
  • 禁止表单导航
  • 滚动时忽略隐藏行列
  • 锁定单元格不允许拷贝
  • 保护工作表和单元格

WinForm

滚动更平滑、更精确

比起逐行逐列滚动,按像素滚动有更加平滑的滚动体验。在此功能之前,视图只能滚动停止在行列的边缘。而现在按像素滚动允许视图滚动到单元格部分显示的位置。在触屏上,这个功能有助于滚动操作更显平滑精确。

对角线边框

对角线边框在单元格内部画交叉线,对于表明删去单元格以及绘制旋转文字边框非常有用。
对角线边框

增强高 DPI 支持

Spread 和 Spread 创建的应用程序会感知 DPI 设置并自动缩放。Spread 也包含了两组界面按钮和指示器图标集,一组提供给正常 DPI,一组提供给高 DPI(200%DPI)。这样可以确保过滤下拉等界面按钮,或者条件格式化的指示器等图标,通常能呈现最好的外观效果。下面的截图对比了此功能增强之前和之后的条件格式化的外观效果。
对角线边框

增强数值单元格类型

Spread 添加了一个全新的数值单元格类型(GcNumberCellType),它为数值类型单元格添加了很多功能和属性。功能包括:

  • 备用文字
  • 呈现字段
  • 备用文字
  • 字段
  • 右键菜单
  • 负值颜色
  • 推荐值
  • 下拉窗
  • 下拉计算器
  • 弹出窗
  • 侧边按钮
  • 减号键切换正负符号
  • 日文键盘支持
  • Delete 和 Backspace 键删除
  • 百分比支持
  • 改进粘贴行为

增强数值单元格类型

新图表线风格(支持 Excel 导入/导出)

Spread 目前允许设置折线图的系列风格,这更类似 Excel 的行为。您既可以通过设计器,也可以通过代码设置相关属性。导入 Excel 中的折线图,这些属性也会被保留。相关设置包括:

  • 颜色
  • 透明度
  • 宽度
  • 复合类型
  • 短划线类型
  • 箭头(端点类型、端点大小、箭头大小、箭头类型)
  • 联接类型

新图表线风格(支持 Excel 导入/导出)

日期选择器友好地支持触摸

Spread 目前包含支持触屏交互的日期选择器。

日期选择器友好地支持触摸

新的选择风格设置

为了给用户提供熟悉的体验,Spread 通常和 Excel 保持一致。但是有时开发人员想改变某些行为。在这种需求下,我们添加了设置单元格选择风格的属性。

  • 在选择区域同一背景中高亮激活单元格。在 Excel 中,该单元格不能有选择背景。
  • 不高亮选择的行列头。在 Excel 中,选择的行列头将被高亮。
  • 显示行编辑选择器。

更多增强

  • 增强选择边框:当区域选择时,Spread 默认会在整个选择外面绘制边框。

  • 可选的过滤行为:当设置行过滤时,Spread 自动应用过滤规则到录入或编辑的新数据或者样式上。Excel 则不是这样。Excel 过滤需要明确地执行。Spread 目前也有类似 Excel 的可选设置。

  • 编辑单元格保持垂直对齐设置:当编辑单元格时,它的垂直对齐设置将被保留。而老版本将在编辑时变更为顶对齐显示。

  • 支持远程桌面:Spread 在运行时完全支持使用远程桌面。

  • 提升PDF导出性能: 大致提升了10%的创建 PDF 速度。

  • Shape 文字对齐:Spread 目前支持在 Shape 中文字的对齐能力。

  • 提升行列移动性能: Spread 行列在移动时,拖拽中会显示选择的克隆效果。这偶尔会导致性能不佳。现在您可以禁止它或者创建自定义行为来避免这个问题。

ASP.NET

Edge 和 Chrome 上的触摸支持

Spread 的 WEB 程序将支持微软 Edge 和谷歌 Chrome 上面的触摸交互。 如下图,请注意选择单元格区域的触屏手柄。
Edge 和 Chrome 上的触摸支持

支持 AJAX 控件套包 v15.1

Spread 目前支持如下 AJAX 控件套包 v15.1扩展的单元格类型:

  • 自动完成
  • 日历
  • 组合框
  • 过滤文本
  • 掩码编辑
  • 互斥复选框
  • 数值微调器
  • 评分
  • 滑动条
  • 幻灯片
  • 水印文本框

V8.0 Update1

Spread .NET 8 SP1 绝不仅仅只是简单的维护版本,它像全新版本一样提供了很多新技术。此次版本更新的亮点在于新的 JavaScript 控件和一系列 Spread ASP.NET 的增强功能,为您的 Web 应用程序开发提供了更强有力的支持。

Spread .NET 中新增 SpreadJS 前端 HTML5 表格控件

我们在 Spread .NET 产品包中加入了基于 HTML5 的纯 JavaScript 电子表格控件 SpreadJS。Web 开发人员可以如同其他平台的 Spread 一样,轻松自如的使用这款纯前端控件。比如 Excel 导入/导出,可视化设计器,计算引擎,主题和很多类似 Excel 的功能。SpreadJS 是构建在最新的 web 技术之上,非常轻量级,并且非常易用。最好的一点是,它既被包含在 Spread .NET 产品包中,也可以单独购买。您可以通过查看功能列表了解 SpreadJS 的各项功能,或者直接进入 SpreadJS 页面深入了解它。
Edge 和 Chrome 上的触摸支持

Spread for ASP.NET 平台的增强

  • 支持了 ThemeRoller
    只需要少量代码就可以让您的电子表格应用程序拥有与 JQueryUI ThemeRoller 同样漂亮的皮肤。ThemeRoller 拥有丰富多样的多款默认皮肤样式,当然您也可以自定义独属于您的那款皮肤。无论是默认皮肤还是自定义皮肤,您都可以在 Spread 应用程序的各个小细节上,添加时尚感和一致性兼得的外观。
  • 增强了平滑滚动
    Spread ASP.NET 平台在 ipad 和 iphone 上,新增支持了 -webkit-overflow-scrolling 的滚动效果。当您使用这种滚动效果,在您完成滚动手势并手指离开触屏之后,内容将保持一段时间的持续滚动。持续滚动的速度和距离取决于您滚动手势的力度。
  • 增强了剪切板的支持
    Spread 剪切板功能现在支持了更多主流的浏览器,比如 iPad 上的 Safari 以及 FireFox 浏览器。
  • 浏览器缩放
    此次版本更新修复了用户使用浏览器缩放功能体验上的不足。
  • 日期单元格选取日期
    使用日期单元格类型时,现在您可以使用下拉日历控件轻松的选取你所需要的日期。
  • 增强数据验证
    • 粘贴时验证:用户粘贴信息到单元格中时,Spread 现在能够自动验证数据。
    • 服务端验证:Spread 现在支持服务器端验证,您可以访问更多内置.NET 验证逻辑。

其它平台的增强

本次发布版本也包括其它平台的增强。关于各个平台发布更新的更多细节,请参考 发布说明。

V8.0

Spread .NET 包括了 Windows Form 、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台的表格控件。请点击查看不同平台产品的新特性。

Spread for WinForm

新版本包含了强大的表格(Table)功能,它可以将单元格区域显示为一个表格,包含过滤器、绑定行、内置样式等功能,并与 Excel 中的表格兼容。该版本中还为用户提供更加新颖的 Excel 2013 主题样式,能满足 Windows 8 下的系统外观要求。此外,根据客户的反馈意见,该版本增强了现有功能,并修复了一些缺陷,这将使我们的产品更加稳定。其他更多新特性, 请点击查看

Spread for ASP.NET

在此次发布中,完全支持包括IE,Firefox,Safari 和 Chrome 在内的各种现代浏览器。并且支持通过触摸方式在 IPad 上使用 Spread for ASP.NET 控件。此外,我们还提供了新的控件外观,Excel 2013 样式等。其他更多新特性, 请点击查看

Spread WPF-Silverlight

在 XAML 和 WinRT 平台产品中提供了 打印和打印预览功能, 公式支持结构化引用,新的控件外观,更重要的是在 Excel 导入速度方面也有明显的提升。其他更多新特性, 请点击查看。

Spread WinRT

在 XAML 和 WinRT 平台产品中提供了 打印和打印预览功能, 公式支持结构化引用,新的控件外观,更重要的是在 Excel 导入速度方面也有明显的提升。其他更多新特性, 请点击查看

V7.0 Update4

Spread .NET 包括了 Windows Form 、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台。请点击查看不同平台产品的新特性。

Spread for WinForm

  • 可在公式条件格式化规则(FormulaConditionalFormattingRule)中使用自定义名称。
  • 新增 OpenExcel 重载方法,可在不清除使用 SetInputMap 设置的快捷键的情况下导入 Excel 文件。
  • 新增对多区域表达式的支持。
其他更多新特性, 请点击查看

Spread for ASP.NET

  • 新增 ExpandAll 方法用于展开或折叠所有级别的层次结构。
  • 可直接导出分组布局和数据到 Excel 文件,同时,指定 SaveAsViewed 导出选项时也会导出分组视图。
  • 支持将工作簿中的某一个工作表保存为 Html 文件。
  • 增加客户端属性 ClientAutoSizeMaxHeight 和 ClientAutoSizeMaxWidth。
  • 为 FilterItemValue 类型增加 Value 属性。
其他更多新特性, 请点击查看

Spread WPF-Silverlight

在新发布的版本中,新增 SetDataSource 方法,通过该方法可直接设置工作表(Worksheet)的数据源,并保持现有单元格格式。其他更多新特性, 请点击查看。

Spread WinRT

在新发布的版本中,新增 SetDataSource 方法,通过该方法可直接设置工作表(Worksheet)的数据源,并保持现有单元格格式。其他更多新特性, 请点击查看。

V7.0 Update3

Spread .NET 包括了 Windows Forms、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台。请点击查看不同平台产品的新特性。 

Spread for WinForm

在新发布的版本中,Spread for WinForm 以及 MultiRow 能够让您在新的平台中开发产品,包括Windows 8.1 以及 Visual Studio 2013。其他更多新特性, 请点击查看

Spread for ASP.NET

在新发布的版本中,Spread for ASP.NET 能够让您在新的平台中开发产品,包括 Windows 8.1、Windows Server 2012 R2 和 Visual Studio 2013。除此之外,本次发布的版本还支持 Internet Explorer 11。其他更多新特性, 请点击查看

Spread WPF-Silverlight

在新发布的版本中,Spread WPF-Silverlight 能够让您在新的平台中开发产品,包括 Windows 8.1、Windows Server 2012 R2 和 Visual Studio 2013。其他更多新特性, 请点击查看。

Spread WinRT

在新发布的版本中,Spread for ASP.NET 能够让您在新的平台中开发产品,包括 Windows 8.1、Windows Server 2012 R2 和 Visual Studio 2013。其他更多新特性, 请点击查看。

V7.0 Update2

Spread .NET 包括了 Windows Forms、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台。请点击查看不同平台产品的新特性。

Spread for WinForm

本次发布版本提供类似微软 Excel 2013 的 UI 触摸行为和样式。同时,导入、导出Excel 文件和公式计算性能提高了 30%-50%。

Spread for ASP.NET

本次发布版本中提供类似微软 Excel 2013 的 UI 触摸行为和样式。

Spread WPF-Silverlight

Spread WPF-Silverlight 平台一次重大的版本升级,新增类似微软 Excel 2013 的 UI 触摸行为和样式支持,在导入、导出Excel 文件和公式计算性能上提高了 50-200%。新增 40+ 种图表类型、公式编辑器、图片支持等更多功能。

Spread WinRT

Spread WinRT 平台一次重大的版本升级,新增类似微软 Excel 2013 的 UI 触摸行为和样式支持,在导入、导出Excel 文件和复杂公式计算性能上提高了 50-200%。新增 30+ 种图表类型、公式编辑器、图片支持等更多功能。

V7.0

Spread for WinForm 7.0 新特性

增强条件格式

享受新的条件格式带给您的全新体验。在这一版本中,我们提供了完整功能和可视化元素,包括数据条、颜色标尺、图标集等。这将帮助您以可见方式对与数据相关的问题作出回应,同时高亮感兴趣的单元格或区域,强调特殊数据以及将数据可视化展现。条件格式可以根据设置的条件或标准改变单元格或区域的外观样式。当条件为 true,单元格或区域按照条件格式化;当条件为 false,单元格或区域不会根据条件格式化。这一特性在 Spread for Windows Forms 以及 Spread for ASP.NET 中均有提供。
增强条件格式

过滤器增强

增强过滤功能提供了种类繁多的过滤条件,包括数值、日期、文本和颜色的自动过滤。您可以创建三种类型的过滤器:数据列表、格式或标准。这些过滤条件针对同一单元格区域时不能同时使用。
新增了全新的过滤条,用户可以快速便捷的输入过滤器条件并应用到数据中。 这一特性在 Spread for Windows Forms 以及 Spread for ASP.NET 中均有提供。
过滤器增强

中文本地化增强

中文本地化:我们为中文环境添加了本地化资源。Spread 控件将在 Visual Studio 中显示中文,包括设计器界面以及设计时界面。中文菜单和提示消息也将在运行时显示。
同时对 IME 做了增强,提供 ImeMode/ImeSentenceMode 属性,用于在编辑单元格时设置 IME 状态。
中文本地化增强

设计器增强

诸多增强帮助开发者更高效的使用设计器
  • 设计器中新增命名管理器,用户可以在运行时使用,同时设计时可以自定义命名。
  • 设计器中新增用户界面用于在导入导出 XLS/XLSX 时指定 ExcelOpenFlags/ExcelSaveFlags。

  • 设计器中新增用户界面用于设置快捷键对应关系,设计时支持快捷键对应关系序列化。新增 SpreadAction 类型用于执行类似 Excel 的行为。

  • Spread 设计器中,当选中图形、备注或图表对象时,可以在属性设置表中设置属性。
  • 单元格和 RotationAngle 对象的 CanFocus 属性可以在设计器中设置,该属性仅在预览窗口中生效。

  • 允许用户使用 “DateTime.Now” 作为 DateTimeCellType.DateDefault 属性的值,它默认使用当前的时间值。
设计器增强

其他 Spread for Windows Form 的增强

  • 支持通过拖拽单元格右下角的滑块实现拖拽填充和自增值填充。
  • 设计时和运行时支持120 DPI。
  • 为行错误和单元格错误提供错误指示器弹出消息。
  • 支持类似 Excel 的自适应拉伸文本对齐方式,支持导入导出自适应拉伸文本的 xls/xlsx 文件。

  • 新增 AcceptsArrowKeys 枚举类型用于处理编辑模式下激活单元格的导航方式,当光标在单元格的开始或者结尾的时候。

  • 为 MultiColumnComboBox 类型增加 Editable 属性。

Spread for ASP.NET 7.0 新特性

上下文菜单

Spread for ASP.NET 内嵌的上下文菜单代替了浏览器自带的上下文菜单,您可以通过 Spread 上下文菜单特性为您的应用程序加入更多的数据挖掘和界面交互的功能。
上下文菜单

列头 RowTemplate

Spread for ASP.NET 中为 RowTemplate 新增了新的列头模板,这样,列头单元格可以拥有与数据行完全不同的布局风格。您可以改变传统的 Spread 布局方式,将一条数据展示在多行中。多行布局由行模板控制,行模板可以通过代码或者 Spread 设计器定制。
列头RowTemplate

用于单元格编辑器的 Css

通过 Spread for ASP.NET 的 EditorCssClass 属性可以设置可编辑的单元格类型。通过 Css 代码设置单元格类型编辑器的样式。它独立于通过 CssClass 属性定制的单元格显示模式。
用于单元格编辑器的Css

编码增强

使用新的元素,可以为独立重载的 JavaScript 方法声明详尽的智能提示。更多信息可以参考
https://www.asp.net/vnext/overview/aspnet/whats-new#_Toc318097413
编码增强

性能提升

  • 新增 LoadOnDemandMode 属性用于支持在用户滚动到最后一行之前通过后台加载数据。新增 TriggerMode 属性用于支持定时加载和越界加载。

  • 提升了渲染表格、PDF 以及导入 Excel 文件的性能。
  • 提升了客户端滚动性能,通过后台按需加载数据并触发新的客户端事件。
  • 增强了虚拟滚动,它可以在加载新的数据行时保持来自前一页面的额外数据。
  • 支持异步渲染图表。
  • 通过合并 JS 和 CSS 优化脚本加载时间。
  • 使用平行任务库实现了关键性能的提升。
性能提升

其他 Spread for ASP.NET 的增强

  • 为 DateTime、Currency、Double 和 Integer 单元格类型增加独立的编辑模式和非编辑模式格式。
  • 增强虚拟页面以支持滚动条文本提示。
  • 打印时支持行和列的分页。
  • 支持客户端脚本锁定和解锁。
  • 新增 Cell.EncodeValue 属性,支持在单元格文本中直接输入原始 HTML 标记。
  • 客户端支持在隐藏的行或列中设置单元格的值。
  • 新增 ClientIDMode 支持。

V6.0

Spread .NET 6.0 新特性

波形图(Sparklines)

波形图是直接画在单元格里的微型图表,用于可视化的呈现数据。Spread 支持列、线和正负类型的波形图,同时可以与 Excel 2010文件兼容及转换。

添加波形图到表单上

新增的列、线和正负类型的波形图。支持与 Excel 2010 的 XLS 和 XLSX 文件导入导出。
添加波形图到表单上

波形图标记高亮突出特殊值。

波形图标记高亮突出特殊值。

波形图组共享外观和样式设置。

波形图组共享外观和样式设置。

其他增强

内嵌 UI 支持剪切板操作(剪切、复制和粘贴)
方便易用的波形图 API。
最终用户可以通过内嵌编辑器创建和编辑波形图。
最终用户可以通过内嵌编辑器创建和编辑波形图。
与 Microsoft Excel 2010 的波形图进行交互。
可扩展的波形图模块支持用户自定义波形图
可扩展的波形图模块支持用户自定义波形图

通过新增的照相机图形(Camera Shapes)创建表单控制面板

通过新增的照相机图形(Camera Shapes)创建表单控制面板
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。
将图表、波形图和照相机图形结合使用,可以创建高级报表。用于精准展示丰富信息,无需进行单元格合并、单元格间距等复杂操作。
内嵌 UI 支持剪切板操作(剪切、复制和粘贴)。
方便易用的照相机图形 API。
最终用户可以通过内嵌编辑器创建和编辑照相机图形。
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。
与 Microsoft Excel 2003/2007/2010的照相机图形进行交互。

提升 Excel 导入导出性能

Excel 导入导出的性能提升了 50%。

新增 Spread 设计器功能利于设计强大的用户界面

新增波形图工具,用于创建和编辑波形图。
新增的照相机工具,用于创建照相机图形以及表单控制面板。
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。

新增浏览器支持

支持 Internet Explorer 9。
提升客户端脚本对 Firefox 4 的支持。

V12.0 Update2

WinForm平台功能优化

  • 当为电子表格应用程序启用 DPI 感知时,图标将正确缩放。[273689]
  • 使用自定义函数:AddCustomFunctions() 方法,在打开 Excel 文件后将正确重新计算。[269202]
  • 用户可以将自定义排序逻辑应用于电子表格中。[273437]
  • CellChanged 事件现在可以正常触发。[273963]
  • 加载特定的 XML 文件和复制公式引用另一个工作表的单元格时,粘贴的值现在正确显示。具有公式的复制粘贴单元格现在工作正常。[274165]
  • 编辑后在子视图中使用 RecalculateAll() 方法时,不会引发异常。[274182]
  • 用户可以加载使用跨页 WinForms 10 保存的 XML 文件。[270695]

V12.0 Update1

动态数组支持:大幅简化计算公式,提高公式运算效率

Excel 2019 推出了动态数组函数,用于简化复杂计算公式:使用动态数组,返回值将自动“输出”到相邻单元格中(未使用的)。用户只需编写一个简单的公式,而不是编写复杂的数组公式就可解决多单元格问题。

Excel 动态数组功能预览

(Excel 动态数组功能预览)

作为一款与 Excel 高度类似的表格控件,在 Spread .NET V12.1 中,也加入了如 Excel 动态数组一样的功能。

如何在 Spread .NET 中使用动态数组

首先,需要在 Spread 设计器中启用动态数组——默认情况下,动态数组不会自动启用,您需要通过以下方式之一显式启用它们:在Windows窗体的 Spread 设计器(Spread Designer)中,有一个新的“公式”选项卡,如下图:

如何在 Spread .NET 中使用动态数组

(如何在 Spread .NET 中使用动态数组)

在“计算引擎”菜单中选中“动态阵列”框,以启用对动态阵列的支持。

除此之外,您也可以使用代码(通过调用 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}“ 这样的公式,其硬编码水平和垂直溢出的二维数组值如下图:

二维数组垂直和水平溢出

(二维数组垂直和水平溢出)

在相邻空白单元格中放置值的行为称为“填充(Spilling)”,当选择溢出范围内的任何单元格时,Spread .NET 会用浅蓝色边框,指示公式的“填充范围”,并且FormulaTextBox将单元格公式显示为已禁用且不可编辑。

Spread .NET 动态数组的强大功能

Spread .NET 现在支持六种动态数组函数:

  • SEQUENCE和RANDARRAY函数可以生成顺序或随机数据的数组
  • FILTER、SORT、SORTBY 和 UNIQUE 函数主要用于筛选、排序、删除重复项等功能

使用动态数组,当您的数据发生变化时,设计器将自动调整大小并重新计算,让您的数据分析工作前所未有的简单。

Spread .NET 动态数组的使用场景

仅使用带有 RANDARRAY 的 SORTBY,即可为列表创建随机排序:

使用SORTBY和RANDARRAY随机排序值列表

(使用SORTBY和RANDARRAY随机排序值列表)

仅使用 SEQUENCE 和 NOW 函数,实现每 10 分钟创建一个时间表计划标题:

使用SEQUENCE安排每隔十分钟

(使用SEQUENCE安排每隔十分钟)

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

仅使用三个公式创建的数据透视交叉分析

(仅使用三个公式创建的数据透视交叉分析)

Spread .NET 设计器增强:公式追踪 & 动态数组公式选项卡

Spread .NET 设计器(Spread Designer) 中新增了 Formulas选项卡,包含全新的动态数组支持(默认情况下不启用)、定义名称、公式审计和用于计算的工具。

Spread .NET 设计器的公式追踪

在使用公式时,有时需要了解公式中引用了哪些单元格的数据,这就涉及到公式追踪的操作。在 Spread .NET V12.1 中,这些用于公式追踪的工具可以在 Trace Precedents,Trace Dependents 和 Remove Arrows 中的 Formula Auditing 组下找到:

Spread .NET 设计器的公式追踪

(Spread .NET 设计器的公式追踪)

新增如 Excel 般的行、列交替样式支持

Spread .NET V12.1 加入了如 Excel 般的行、列交替样式支持,为交替行或列(通常称为色带)添加颜色,以便使工作表中的数据更易于浏览,此功能包括对内置 Excel 样式和主题的支持,如颜色渐变和图案填充。

新增如 Excel 般的行、列交替样式支持

(新增如 Excel 般的行、列交替样式支持)

实现方法:当需使用交替样式时,直接调用 AlternatingRows类包装的新接口即可,或者您也可以直接调用GrapeCity.Spreadsheet.dll的新公共接口来创建交替的行和列样式。

与 VSTO 类似的基于 1 的索引:更易于 VBA 代码移植

通过创建 IWorkbook,Spread .NET 为所有 GrapeCity.Spreadsheet.IWorkbook API(如 Microsoft Excel® VSTOAPI)提供了与 VSTO 类似的基于 1 的索引,这样做的目的是:可以轻松地将 Excel VBA 代码或旧的 Spread COM 代码(基于 1 的行和列索引部分)移植到.NET 平台下(后者曾一直使用基于 0 的索引来支持以前版本中的所有 API,以实现 CLS)。

Spread .NET 为何要使用基于 1 的索引

鉴于 Microsoft Excel ® 支持Visual Studio Tools for Office(VSTO)的Visual Basic for Applications(VBA)对象模型中基于1的索引,而 Spread .NET 的常见使用场景便是从支持宏的 Microsoft 中创建使用 VBA 和 VSTO的 电子表格应用程序。所以,Spread .NET 使用基于 1 的索引,将更易于 VBA 代码移植。

实现方法:只需一次调用,即可获得基于1的索引对象:

【C#】

 IWorkbook iwb = WorkbookSet.CreateBase1Object(fpSpread1.AsWorkbook());

【VB】

Dim iwb As IWorkbook = WorkbookSet.CreateBase1Object(FpSpread1.AsWorkbook())

AsyncFunction 全新的异步函数和属性

Spread .NET 对创建自定义计算功能提供了丰富的支持,如使用AsyncFunction类创建类似RTD函数的异步函数。RTD 函数自 Excel 2002 引入,主要用于查看和更新实时数据。在Spread .NET V12.1 中,您可以创建继承自 AsyncFunction 的自定义计算函数,实现对异步计算的支持,还可以通过各种 FunctionAttributes来指示特殊函数的行为,如波动率或返回数组值。

如 Excel 般的“取消选择”功能

在 Excel 中,使用 CTRL 键配合鼠标或键盘可以选中或删除特定的单元格。而在 Spread .NET V12.1 中也将提供该功能, 这意味着您可以轻松地选择一系列单元格以应用某些更改,对于需要选择大范围数据的使用场景来说,这个功能将非常实用!

新的 F4 行为

Excel 支持在编辑公式引用时使用F4键,在绝对和相对列和行引用之间切换引用。这个功能在 Spread .NET 中也得以实现, 这种细节处更新可以使具有特定相对和绝对要求的公式比以前更易实现。

V12.0

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

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

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

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

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

使 Spread .NET 更像 Excel

Spread .NET V12 在新实例中对控件的默认行为进行了一些重大更改。Spread .NET 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 早期版本中实现的所有旧属性都保留其旧的默认值,包括工作表Protectdefaulting 为 True 和单元 Locked 默认为 False。
  • Style 标志禁用单元格中新的核心样式模型集成和新的 DefaultCellType 呈现,而是使用旧版样式模型和先前版本的 GeneralCellType呈现。

更容易地升级到 Spread .NET 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 .NET v12 跨工作簿引用

(Spread .NET v12 跨工作簿引用)

其他功能增强

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

V11.0 Update2

性能大幅增强

现在,Spread .NET 表格控件在针对数据处理和过滤时的速度较之前提升了两到十倍,并且使用的内存远远少于上一版本。您将在进行数据过滤和导入文件时看到明显的改进。

462 种 Excel 公式支持

Spread .NET 新增了十几种用于科学,统计,工程和商业的 Excel 公式支持。 点击了解详情

DLL 上的数字签名

从这个版本开始,Spread .NET 的每个程序集都将使用 GrapeCity 的数字签名。

Spread for WinForm

增强颜色筛选

如Excel一样,增强颜色筛选用户界面支持按“无填充”进行筛选。

Spread .NET V11.1 新特性 - 增强颜色筛选

为了支持该功能,DefaultStyleCollection.DataAreaDefault 的默认 BackColor 从 SystemColors.Window 更新为 Color.Empty。

为 TEXT 函数提供 Excel 语法支持

为和 Excel 行为一致,TEXT 计算函数现在使用 Excel 语法对值进行格式设置(替代了过去使用 .NET 语法)。如需恢复使用 .NET 语法来格式化值,可以使用以下代码将旧的 TEXT 函数作为自定义函数进行添加,该自定义函数将覆盖内置的 TEXT 函数:

fpSpread1.AddCustomFunction(new GrapeCity.Spreadsheet.Win.TextFunction());

Spread for ASP.NET

如Excel一样,增强颜色筛选用户界面支持按“无填充”进行筛选。为减少具有大量隐藏单元下的视图状态大小,可将新属性 AllowGenerateHiddenData 设置为 false。 此属性比 AllowGetAllHiddenValue 更强大。当其设置为 false 时,表单中的所有隐藏值都保留在服务器端,从而减少视图状态的大小,并提高了页面安全性。在这种情况下,客户端接口 GetHiddenValue 和 GetHiddenCellValue 将不起作用。

其他功能增强

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

V11.0

Spread for WinForm

增强 spread 产品性能

新版本大幅提升了 Spread 产品的性能。无论是大数据量、丰富样式、复杂公式的文件,在导入、导出时间消耗和计算内存等方面,都有明显的提升。

Spread .NET V11 新特性 - 打印

增强打印功能

新增的打印增强功能包括:完全支持打印预览用户界面中内置的打印机设置。用户可以感受到和 Excel 一样亲切的体验。

Spread .NET V11 新特性 - 打印

增加单元格和数据验证

新增的单元格验证和增强的数据验证,为用户数据输入提供了强大的新选项,并支持在 Excel 文档中保存和加载数据验证。支持了 Excel 中提供的 8 种数据验证类型,包含:任何值、整数、小数、序列、日期、时间和文本长度以及自定义。

Spread .NET V11 新特性 - 单元格和数据验证

增加更多公式支持

新增 130 多个计算公式,使公式总数达到了 462 个。新支持数组公式(使用 Ctrl + Shift + Enter 输入)可以实现高级矩阵和数组计算。当用户输入创建循环引用的公式时,触发新添加的CircularFormula 事件。

Spread .NET V11 新特性 - 公式

增加公式一览表

本次增加 spread 所有支持公式一览表。

Spread .NET V11 新特性 - 公式一览表 Spread .NET V11 新特性 - 公式一览表 Spread .NET V11 新特性 - 公式一览表 Spread .NET V11 新特性 - 公式一览表

增加保护工作簿功能

新增保护工作簿结构功能,并可设置密码。该功能保护工作簿结构并防止用户删除或重新排序工作表。

增加文档属性接口

新增接口来获取和设置文档属性,包含:标题,主题,作者,公司等。

Spread .NET V11 新特性 - 文档属性

增加超链接单元格类型支持排序和过滤

新的增强型 HyperLinkCellType 现在可以很好地处理排序和过滤功能。

Spread for ASP.NET

增强命令栏

命令栏支持用于 PDF 导出和 Excel 文档导出的新按钮以及密码选项。

Spread .NET V11 新特性 - 增强命令栏 Spread .NET V11 新特性 - 增强命令栏

支持移动行

支持从行头单元格拖放,即可直接在用户界面中移动行的功能。

Spread .NET V11 新特性 - 移动行

其他功能增强

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

V10.0

WinForm 和 ASP.NET

新增 Excel 2016 图表类型

  • 直方图
  • 瀑布图
  • 漏斗图
  • 箱形图
  • 旭日图
  • 树状图

新增Excel2016图表类型 新增Excel2016图表类型  

Spread for WinForm

新增单元格类型

  • Gc 字符掩码
  • Gc 组合框
  • Gc 掩码
  • Gc 数值
  • Gc 文本
  • Gc 时间间隔

新增单元格类型

类Excel 状态栏

类Excel状态栏

单元格级别锁定样式

支持设置不同于整个表单的单元格特有锁定样式。

Spread for ASP.NET

支持包含图片的 Excel 文件进行导入导出

导入导出Excel 导入导出Spread

整数单元格类型新增下拉数字键盘

数字键盘

新增 FormulaExtender 组件

通过这个组件,我们可以在 Spread 之外引用公式。

FormulaExtender组件

其它功能增强

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

V9.0 Update1

SpreadJS 产品包独立,不再包含在 Spread .NET 套包中。 点击查看 SpreadJS 版本新特性。

Spread for WinForm

  • 提升增加行时的性能。
  • 提升加载 XML 文件的性能。
  • 提升分组性能。
  • 增强打印页眉页脚导出到 Excel 文件的能力。
  • 想了解本次发布更多细节请参考 发布说明。

Spread for ASP.NET

  • 增强跨页引用空单元格公式。

Spread for Silverlight

  • 增强导入含有多条件格式的 Excel 文件类型。

Spread for WPF

  • 增强导入 Excel 文件的打印设置。
  • 增强导入含有多条件格式的 Excel 文件类型。
  • 增强控件添加时的 Licenses.licx 文件的更新。

Spread for WinRT

  • 增强导入含有多条件格式的 Excel 文件类型。

V9.0

所有平台

支持 Windows 10, Visual Studio 15, 以及Excel 2016。Spread 紧随微软的步伐:
  • 全面支持 Visual Studio 15
  • 全面支持 Windows 10操作系统和 Edge
  • 全面支持 Excel 2016文件的导入和导出,以及 Office 2016主题。
所有平台

SpreadJS

预览和打印数据视图

在页面上添加打印按钮,可以直接打开标准的浏览器打印窗口。SpreadJS 满足您的各种打印细节设置需求:自适应文本高宽打印、网格线、边框、页眉、页脚、边距、页面自适应、页面尺寸、插入分页符等等。导入或导出Excel文件之后,打印设置依然可以保留。
预览和打印数据视图

表格切片器

通过类似 Excel 的表格切片器过滤和分析数据。您可以以两种方式使用它。一种是类似 Excel 的按钮切片器,其提供一组便利的过滤器。另一种是使用切片器工具集添加便利的工具,比如按钮、复选框和滑动条等,允许您通过值、日期范围和数字范围切分数据。第一种方式提供了经典的Excel体验,第二种方式提供了更多的您期待的来自稳健数据网格的互动体验。您也可以使用柱形图作为切片工具以提供向下钻取功能。SpreadJS 切片器支持单独使用。

汉化

SpreadJS 支持汉字和中文本地化界面。菜单、提示和公式等部分全面本地化。
注:SpreadJS 本地化只包含 SpreadJS 产品本身,不包含设计器和 ExcelI/O 部分。
汉化 汉化 汉化

Excel 导入/导出

老版本中, SpreadJS 的 Excel 导入/导出功能要求安装在网络服务器上。而现在,其作为一个组件,Excel I/O 允许您免费再分发,并提供公共接口方便您调用。

固定位置浮动对象

浮动对象目前提供固定位置属性,您可以添加图表、图片或者其他不需要用户滚屏浏览表格的对象。

设计器增强

  • 增强粘贴:可以选择粘贴所有、粘贴值、粘贴格式、或者粘贴公式。
  • 标签颜色:在设计器界面上可以更改表单标签颜色。
设计器增强

类Excel 行为的增强

  • 隐藏行列指示器

  • 隐藏行列指示器
  • 禁止表单导航
  • 滚动时忽略隐藏行列
  • 锁定单元格不允许拷贝
  • 保护工作表和单元格

WinForm

滚动更平滑、更精确

比起逐行逐列滚动,按像素滚动有更加平滑的滚动体验。在此功能之前,视图只能滚动停止在行列的边缘。而现在按像素滚动允许视图滚动到单元格部分显示的位置。在触屏上,这个功能有助于滚动操作更显平滑精确。

对角线边框

对角线边框在单元格内部画交叉线,对于表明删去单元格以及绘制旋转文字边框非常有用。
对角线边框

增强高 DPI 支持

Spread 和 Spread 创建的应用程序会感知 DPI 设置并自动缩放。Spread 也包含了两组界面按钮和指示器图标集,一组提供给正常 DPI,一组提供给高 DPI(200%DPI)。这样可以确保过滤下拉等界面按钮,或者条件格式化的指示器等图标,通常能呈现最好的外观效果。下面的截图对比了此功能增强之前和之后的条件格式化的外观效果。
对角线边框

增强数值单元格类型

Spread 添加了一个全新的数值单元格类型(GcNumberCellType),它为数值类型单元格添加了很多功能和属性。功能包括:

  • 备用文字
  • 呈现字段
  • 备用文字
  • 字段
  • 右键菜单
  • 负值颜色
  • 推荐值
  • 下拉窗
  • 下拉计算器
  • 弹出窗
  • 侧边按钮
  • 减号键切换正负符号
  • 日文键盘支持
  • Delete 和 Backspace 键删除
  • 百分比支持
  • 改进粘贴行为

增强数值单元格类型

新图表线风格(支持 Excel 导入/导出)

Spread 目前允许设置折线图的系列风格,这更类似 Excel 的行为。您既可以通过设计器,也可以通过代码设置相关属性。导入 Excel 中的折线图,这些属性也会被保留。相关设置包括:

  • 颜色
  • 透明度
  • 宽度
  • 复合类型
  • 短划线类型
  • 箭头(端点类型、端点大小、箭头大小、箭头类型)
  • 联接类型

新图表线风格(支持 Excel 导入/导出)

日期选择器友好地支持触摸

Spread 目前包含支持触屏交互的日期选择器。

日期选择器友好地支持触摸

新的选择风格设置

为了给用户提供熟悉的体验,Spread 通常和 Excel 保持一致。但是有时开发人员想改变某些行为。在这种需求下,我们添加了设置单元格选择风格的属性。

  • 在选择区域同一背景中高亮激活单元格。在 Excel 中,该单元格不能有选择背景。
  • 不高亮选择的行列头。在 Excel 中,选择的行列头将被高亮。
  • 显示行编辑选择器。

更多增强

  • 增强选择边框:当区域选择时,Spread 默认会在整个选择外面绘制边框。

  • 可选的过滤行为:当设置行过滤时,Spread 自动应用过滤规则到录入或编辑的新数据或者样式上。Excel 则不是这样。Excel过滤需要明确地执行。Spread 目前也有类似 Excel 的可选设置。

  • 编辑单元格保持垂直对齐设置:当编辑单元格时,它的垂直对齐设置将被保留。而老版本将在编辑时变更为顶对齐显示。

  • 支持远程桌面:Spread 在运行时完全支持使用远程桌面。

  • 提升PDF导出性能: 大致提升了10%的创建 PDF 速度。

  • Shape 文字对齐:Spread 目前支持在 Shape 中文字的对齐能力。

  • 提升行列移动性能: Spread 行列在移动时,拖拽中会显示选择的克隆效果。这偶尔会导致性能不佳。现在您可以禁止它或者创建自定义行为来避免这个问题。

ASP.NET

Edge 和 Chrome 上的触摸支持

Spread 的 WEB 程序将支持微软 Edge 和谷歌 Chrome 上面的触摸交互。 如下图,请注意选择单元格区域的触屏手柄。
Edge 和 Chrome 上的触摸支持

支持 AJAX 控件套包 v15.1

Spread 目前支持如下 AJAX 控件套包 v15.1扩展的单元格类型:

  • 自动完成
  • 日历
  • 组合框
  • 过滤文本
  • 掩码编辑
  • 互斥复选框
  • 数值微调器
  • 评分
  • 滑动条
  • 幻灯片
  • 水印文本框

V8.0 Update1

Spread .NET 8 SP1 绝不仅仅只是简单的维护版本,它像全新版本一样提供了很多新技术。此次版本更新的亮点在于新的 JavaScript 控件和一系列 Spread ASP.NET的增强功能,为您的Web 应用程序开发提供了更强有力的支持。

Spread .NET 中新增 SpreadJS 前端 HTML5 表格控件

我们在 Spread .NET 产品包中加入了基于 HTML5 的纯 JavaScript 电子表格控件 SpreadJS。Web 开发人员可以如同其他平台的 Spread 一样,轻松自如的使用这款纯前端控件。比如Excel导入/导出,可视化设计器,计算引擎,主题和很多类似 Excel 的功能。SpreadJS 是构建在最新的 web 技术之上,非常轻量级,并且非常易用。最好的一点是,它既被包含在Spread .NET产品包中,也可以单独购买。您可以通过查看功能列表了解 SpreadJS 的各项功能,或者直接进入 SpreadJS 页面深入了解它。
Edge 和 Chrome 上的触摸支持

Spread for ASP.NET 平台的增强

  • 支持了 ThemeRoller
    只需要少量代码就可以让您的电子表格应用程序拥有与 JQueryUI ThemeRoller 同样漂亮的皮肤。ThemeRoller拥有丰富多样的多款默认皮肤样式,当然您也可以自定义独属于您的那款皮肤。无论是默认皮肤还是自定义皮肤,您都可以在Spread 应用程序的各个小细节上,添加时尚感和一致性兼得的外观。
  • 增强了平滑滚动
    Spread ASP.NET 平台在 ipad 和 iphone 上,新增支持了 -webkit-overflow-scrolling的滚动效果。当您使用这种滚动效果,在您完成滚动手势并手指离开触屏之后,内容将保持一段时间的持续滚动。持续滚动的速度和距离取决于您滚动手势的力度。
  • 增强了剪切板的支持
    Spread 剪切板功能现在支持了更多主流的浏览器,比如 iPad 上的 Safari 以及 FireFox 浏览器。
  • 浏览器缩放
    此次版本更新修复了用户使用浏览器缩放功能体验上的不足。
  • 日期单元格选取日期
    使用日期单元格类型时,现在您可以使用下拉日历控件轻松的选取你所需要的日期。
  • 增强数据验证
    • 粘贴时验证:用户粘贴信息到单元格中时,Spread 现在能够自动验证数据。
    • 服务端验证:Spread 现在支持服务器端验证,您可以访问更多内置.NET 验证逻辑。

其它平台的增强

本次发布版本也包括其它平台的增强。关于各个平台发布更新的更多细节,请参考 发布说明。

V8.0

Spread .NET 包括了 Windows Form 、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台的表格控件。请点击查看不同平台产品的新特性。

Spread for WinForm

新版本包含了强大的表格(Table)功能,它可以将单元格区域显示为一个表格,包含过滤器、绑定行、内置样式等功能,并与 Excel 中的表格兼容。该版本中还为用户提供更加新颖的 Excel2013主题样式,能满足 Windows 8 下的系统外观要求。此外,根据客户的反馈意见,该版本增强了现有功能,并修复了一些缺陷,这将使我们的产品更加稳定。其他更多新特性, 请点击查看

Spread for ASP.NET

在此次发布中,完全支持包括IE,Firefox,Safari 和 Chrome 在内的各种现代浏览器。并且支持通过触摸方式在 IPad 上使用 Spread for ASP.NET控件。此外,我们还提供了新的控件外观,Excel2013 样式等。其他更多新特性, 请点击查看

Spread WPF-Silverlight

在 XAML 和 WinRT 平台产品中提供了 打印和打印预览功能, 公式支持结构化引用,新的控件外观,更重要的是在 Excel 导入速度方面也有明显的提升。其他更多新特性, 请点击查看。

Spread WinRT

在 XAML 和 WinRT 平台产品中提供了 打印和打印预览功能, 公式支持结构化引用,新的控件外观,更重要的是在 Excel 导入速度方面也有明显的提升。其他更多新特性, 请点击查看

V7.0 Update4

Spread .NET 包括了 Windows Form 、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台。请点击查看不同平台产品的新特性。

Spread for WinForm

  • 可在公式条件格式化规则(FormulaConditionalFormattingRule)中使用自定义名称。
  • 新增 OpenExcel 重载方法,可在不清除使用 SetInputMap 设置的快捷键的情况下导入 Excel 文件。
  • 新增对多区域表达式的支持。
其他更多新特性, 请点击查看

Spread for ASP.NET

  • 新增 ExpandAll 方法用于展开或折叠所有级别的层次结构。
  • 可直接导出分组布局和数据到 Excel 文件,同时,指定 SaveAsViewed 导出选项时也会导出分组视图。
  • 支持将工作簿中的某一个工作表保存为 Html 文件。
  • 增加客户端属性 ClientAutoSizeMaxHeight 和 ClientAutoSizeMaxWidth。
  • 为 FilterItemValue 类型增加 Value 属性。
其他更多新特性, 请点击查看

Spread WPF-Silverlight

在新发布的版本中,新增 SetDataSource 方法,通过该方法可直接设置工作表(Worksheet)的数据源,并保持现有单元格格式。其他更多新特性, 请点击查看。

Spread WinRT

在新发布的版本中,新增 SetDataSource 方法,通过该方法可直接设置工作表(Worksheet)的数据源,并保持现有单元格格式。其他更多新特性, 请点击查看。

V7.0 Update3

Spread .NET 包括了 Windows Forms、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台。请点击查看不同平台产品的新特性。 

Spread for WinForm

在新发布的版本中,Spread for WinForm 以及 MultiRow 能够让您在新的平台中开发产品,包括Windows 8.1 以及 Visual Studio 2013。其他更多新特性, 请点击查看

Spread for ASP.NET

在新发布的版本中,Spread for ASP.NET 能够让您在新的平台中开发产品,包括 Windows 8.1、Windows Server 2012 R2 和 VisualStudio2013。除此之外,本次发布的版本还支持 Internet Explorer 11。其他更多新特性, 请点击查看

Spread WPF-Silverlight

在新发布的版本中,Spread WPF-Silverlight 能够让您在新的平台中开发产品,包括 Windows 8.1、Windows Server 2012 R2 和 VisualStudio2013。其他更多新特性, 请点击查看。

Spread WinRT

在新发布的版本中,Spread for ASP.NET 能够让您在新的平台中开发产品,包括 Windows 8.1、Windows Server 2012 R2 和 VisualStudio2013。其他更多新特性, 请点击查看。

V7.0 Update2

Spread .NET 包括了 Windows Forms、ASP.NET、WPF、Silverlight 以及 Windows8 的 WinRT 平台。请点击查看不同平台产品的新特性。

Spread for WinForm

本次发布版本提供类似微软 Excel 2013 的 UI 触摸行为和样式。同时,导入、导出Excel 文件和公式计算性能提高了 30%-50%。

Spread for ASP.NET

本次发布版本中提供类似微软 Excel 2013 的 UI 触摸行为和样式。

Spread WPF-Silverlight

Spread WPF-Silverlight 平台一次重大的版本升级,新增类似微软 Excel 2013 的 UI 触摸行为和样式支持,在导入、导出Excel 文件和公式计算性能上提高了50-200%。新增40+ 种图表类型、公式编辑器、图片支持等更多功能。

Spread WinRT

Spread WinRT 平台一次重大的版本升级,新增类似微软 Excel 2013 的 UI 触摸行为和样式支持,在导入、导出Excel 文件和复杂公式计算性能上提高了 50-200%。新增30+种图表类型、公式编辑器、图片支持等更多功能。

V7.0

Spread for WinForm 7.0 新特性

增强条件格式

享受新的条件格式带给您的全新体验。在这一版本中,我们提供了完整功能和可视化元素,包括数据条、颜色标尺、图标集等。这将帮助您以可见方式对与数据相关的问题作出回应,同时高亮感兴趣的单元格或区域,强调特殊数据以及将数据可视化展现。条件格式可以根据设置的条件或标准改变单元格或区域的外观样式。当条件为true,单元格或区域按照条件格式化;当条件为false,单元格或区域不会根据条件格式化。这一特性在 Spread for Windows Forms 以及 Spreadfor ASP.NET 中均有提供。
增强条件格式

过滤器增强

增强过滤功能提供了种类繁多的过滤条件,包括数值、日期、文本和颜色的自动过滤。您可以创建三种类型的过滤器:数据列表、格式或标准。这些过滤条件针对同一单元格区域时不能同时使用。
新增了全新的过滤条,用户可以快速便捷的输入过滤器条件并应用到数据中。 这一特性在 Spread for Windows Forms 以及 Spread for ASP.NET中均有提供。
过滤器增强

中文本地化增强

中文本地化:我们为中文环境添加了本地化资源。Spread 控件将在 Visual Studio 中显示中文,包括设计器界面以及设计时界面。中文菜单和提示消息也将在运行时显示。
同时对 IME 做了增强,提供 ImeMode/ImeSentenceMode 属性,用于在编辑单元格时设置 IME 状态。
中文本地化增强

设计器增强

诸多增强帮助开发者更高效的使用设计器
  • 设计器中新增命名管理器,用户可以在运行时使用,同时设计时可以自定义命名。
  • 设计器中新增用户界面用于在导入导出 XLS/XLSX 时指定 ExcelOpenFlags/ExcelSaveFlags。

  • 设计器中新增用户界面用于设置快捷键对应关系,设计时支持快捷键对应关系序列化。新增 SpreadAction 类型用于执行类似 Excel 的行为。

  • Spread 设计器中,当选中图形、备注或图表对象时,可以在属性设置表中设置属性。
  • 单元格和 RotationAngle 对象的 CanFocus 属性可以在设计器中设置,该属性仅在预览窗口中生效。

  • 允许用户使用 “DateTime.Now” 作为 DateTimeCellType.DateDefault 属性的值,它默认使用当前的时间值。
设计器增强

其他 Spread for Windows Form 的增强

  • 支持通过拖拽单元格右下角的滑块实现拖拽填充和自增值填充。
  • 设计时和运行时支持120 DPI。
  • 为行错误和单元格错误提供错误指示器弹出消息。
  • 支持类似 Excel 的自适应拉伸文本对齐方式,支持导入导出自适应拉伸文本的 xls/xlsx 文件。

  • 新增 AcceptsArrowKeys 枚举类型用于处理编辑模式下激活单元格的导航方式,当光标在单元格的开始或者结尾的时候。

  • 为 MultiColumnComboBox 类型增加 Editable 属性。

Spread for ASP.NET 7.0 新特性

上下文菜单

Spread for ASP.NET 内嵌的上下文菜单代替了浏览器自带的上下文菜单,您可以通过 Spread 上下文菜单特性为您的应用程序加入更多的数据挖掘和界面交互的功能。
上下文菜单

列头 RowTemplate

Spread for ASP.NET 中为 RowTemplate 新增了新的列头模板,这样,列头单元格可以拥有与数据行完全不同的布局风格。您可以改变传统的 Spread 布局方式,将一条数据展示在多行中。多行布局由行模板控制,行模板可以通过代码或者Spread设计器定制。
列头RowTemplate

用于单元格编辑器的 Css

通过 Spread for ASP.NET 的 EditorCssClass 属性可以设置可编辑的单元格类型。通过 Css 代码设置单元格类型编辑器的样式。它独立于通过 CssClass属性定制的单元格显示模式。
用于单元格编辑器的Css

编码增强

使用新的元素,可以为独立重载的 JavaScript 方法声明详尽的智能提示。更多信息可以参考
http://www.asp.net/vnext/overview/aspnet/whats-new#_Toc318097413
编码增强

性能提升

  • 新增 LoadOnDemandMode 属性用于支持在用户滚动到最后一行之前通过后台加载数据。新增 TriggerMode 属性用于支持定时加载和越界加载。

  • 提升了渲染表格、PDF 以及导入 Excel 文件的性能。
  • 提升了客户端滚动性能,通过后台按需加载数据并触发新的客户端事件。
  • 增强了虚拟滚动,它可以在加载新的数据行时保持来自前一页面的额外数据。
  • 支持异步渲染图表。
  • 通过合并 JS 和 CSS 优化脚本加载时间。
  • 使用平行任务库实现了关键性能的提升。
性能提升

其他 Spread for ASP.NET 的增强

  • 为 DateTime、Currency、Double 和 Integer 单元格类型增加独立的编辑模式和非编辑模式格式。
  • 增强虚拟页面以支持滚动条文本提示。
  • 打印时支持行和列的分页。
  • 支持客户端脚本锁定和解锁。
  • 新增 Cell.EncodeValue 属性,支持在单元格文本中直接输入原始 HTML 标记。
  • 客户端支持在隐藏的行或列中设置单元格的值。
  • 新增 ClientIDMode 支持。

V6.0

Spread .NET 6.0 新特性

波形图(Sparklines)

波形图是直接画在单元格里的微型图表,用于可视化的呈现数据。Spread 支持列、线和正负类型的波形图,同时可以与 Excel 2010文件兼容及转换。

添加波形图到表单上

新增的列、线和正负类型的波形图。支持与 Excel 2010 的 XLS 和 XLSX 文件导入导出。
添加波形图到表单上

波形图标记高亮突出特殊值。

波形图标记高亮突出特殊值。

波形图组共享外观和样式设置。

波形图组共享外观和样式设置。

其他增强

内嵌 UI 支持剪切板操作(剪切、复制和粘贴)
方便易用的波形图 API。
最终用户可以通过内嵌编辑器创建和编辑波形图。
最终用户可以通过内嵌编辑器创建和编辑波形图。
与 Microsoft Excel 2010 的波形图进行交互。
可扩展的波形图模块支持用户自定义波形图
可扩展的波形图模块支持用户自定义波形图

通过新增的照相机图形(Camera Shapes)创建表单控制面板

通过新增的照相机图形(Camera Shapes)创建表单控制面板
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。
将图表、波形图和照相机图形结合使用,可以创建高级报表。用于精准展示丰富信息,无需进行单元格合并、单元格间距等复杂操作。
内嵌 UI 支持剪切板操作(剪切、复制和粘贴)。
方便易用的照相机图形 API。
最终用户可以通过内嵌编辑器创建和编辑照相机图形。
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。
与 Microsoft Excel 2003/2007/2010的照相机图形进行交互。

提升 Excel 导入导出性能

Excel 导入导出的性能提升了 50%。

新增 Spread 设计器功能利于设计强大的用户界面

新增波形图工具,用于创建和编辑波形图。
新增的照相机工具,用于创建照相机图形以及表单控制面板。
照相机图形是某一范围内的单元格的截图,它可以嵌在表单的任意位置。

新增浏览器支持

支持 Internet Explorer 9。
提升客户端脚本对 Firefox 4 的支持。

产品
活字格企业级低代码开发平台
Wyn 商业智能软件
SpreadJS 纯前端表格控件
SpreadJS 报表
GcExcel 服务端表格组件
Spread .NET表格控件
ActiveReportsJS 纯前端报表控件
ActiveReports .NET报表控件
行业解决方案
银行行业
保险行业
证券行业
制造行业
铁路行业
会计师事务所
资料下载
客户与生态伙伴
成功案例
典型伙伴及客户
合作伙伴网络
伙伴成功故事
云帆计划
生态伙伴中心
葡萄城市场
伙伴动态
高校合作
开发者
开发者社区
开发者学堂
新手训练营
产品培训
技术认证
葡萄城公开课
低代码沙龙
社区活动
服务与资源
技术服务体系
金牌服务
预约技术顾问
购买及咨询
技术博客
视频资源
葡萄城市场
了解葡萄城
关于葡萄城
企业文化
研发与创新
葡萄城与国产化
荣誉奖项
品牌活动
加入我们
新闻中心
投诉建议
联系我们
400-657-6008
葡萄城社区二维码

关注“葡萄城社区”

葡萄城二维码

关注“葡萄城”

赋能开发者

联系我们:400-657-6008

西安葡萄城软件有限公司

专业的软件开发技术和低代码平台提供商

陕ICP备2020018819号
国徽陕公网安备:61019002000258
隐私政策
网站地图
邮箱:info.xa@grapecity.com
©2025 葡萄城软件,保留所有权利