Delphi、C++ Builder 和 .NET sgcUI 的一部分

sgcSpreadsheet,适用于 Delphi、C++ Builder 和 .NET 的 Excel 风格电子表格

在你自己的应用程序中为用户提供电子表格。sgcSpreadsheet 像 Excel 一样输入数值和公式,用会自动溢出的动态数组计算 211 个工作表函数,保留带已定义名称和冻结窗格的多个工作表,由单元格区域生成图表,并加载和保存 Excel 能打开的 XLSX 文件。它构建在 sgcGrid 和与 sgcUICore 共享的公式引擎之上,适用于 VCL、FireMonkey、WinForms、WPF 和 Avalonia。

211 个工作表函数动态数组和 XLOOKUPXLSX 加载和保存,含图表包含在 sgcUI Enterprise 中
sgcSpreadsheet 显示销售表,以及由其单元格区域生成的柱形图、折线图和饼图

电子表格所需的一切

以下是主要亮点。功能矩阵列出了全部功能。

公式

按用户在 Excel 中所期望的方式进行计算的公式引擎。

公式

211 个工作表函数

处理数字的用户习惯用 Excel 公式思考。sgcSpreadsheet 能理解这些公式:以 = 开头的文本就是公式,引擎会计算 211 个工作表函数,从 SUM 和 AVERAGE 到 XLOOKUP、TEXT 以及各种日期函数。同一个引擎位于 sgcUICore 中,因此 sgcGrid 的公式会得到相同的结果。

  • 数学和统计、文本、日期和时间、逻辑和信息函数
  • 查找函数,包括 XLOOKUP
  • 对其他工作表的引用,例如 =Sheet2!A1 或 =SUM('Sales 2026'!B:B)
  • 公式中可用已定义名称代替单元格地址

公式

动态数组和增量重新计算

=SORT(A2:A20) 这样的公式会返回整个列表,并且该列表会像在 Excel 中一样溢出到其下方的单元格。依赖关系图知道哪些单元格读取了哪些单元格,因此一次更改只会重新计算依赖它的单元格,在大型工作表中也是如此。

  • SEQUENCE、SORT、FILTER、UNIQUE 和其他动态数组函数
  • 溢出区域被阻挡时显示 #SPILL!,并支持对溢出区域的 A1# 引用
  • 通过依赖关系图进行增量重新计算
  • 由应用程序注册的自定义函数,用法与内置函数相同

工作簿和文件

多个工作表、冻结窗格,以及 Excel 能读取的文件格式。

工作簿和文件

工作表、冻结窗格和强制文本

电子表格是包含一个或多个工作表的工作簿。网格下方的标签页用于切换工作表,+ 标签页用于添加工作表。重命名工作表时,引用它的所有公式也会同步更新。冻结窗格可在工作表其余部分滚动时,让标题行和标题列保持在原位。

  • 通过代码使用 AddSheet、ActiveSheet 和 SheetCount
  • 用 FreezePanes 和 UnfreezePanes 冻结标题行和标题列
  • 前导撇号会按输入原样存储文本,因此 '007 仍是文本
  • 带名称框的公式栏:TsgcVCLSpreadsheetFormulaBar 和 TsgcFMXSpreadsheetFormulaBar

工作簿和文件

XLSX 加载和保存

工作簿来自 Excel,也可回到 Excel。LoadFromXLSX 读取工作簿的每个工作表,SaveToXLSX 写入每个工作表,因此文件可以在你的应用程序和 Excel 之间往返。

  • 数值、公式和单元格格式
  • 已定义名称和动态数组
  • 冻结窗格和列宽
  • 图表,保存为 Excel 能打开的图表

图表

浮在工作表上方并随其数值变化的图表。

图表

由单元格区域生成图表

图表显示一个单元格区域的数值。它像 Excel 中的图表一样浮在工作表上方,由 sgcCharts 绘制。当区域中的某个单元格发生变化,或区域中的公式得出新值时,图表会重新生成。用户可用鼠标移动图表并调整其大小。

  • 7 种图表类型:柱形、条形、折线、面积、饼图、圆环图和散点图
  • AddChart 接受 'A1:D10' 或 'Sheet1!A1:D10' 这样的区域
  • 系列名称和类别从标题行和标题列读取
  • TsgcSpreadsheetCharts,图表保存到 XLSX

谁在用 sgcSpreadsheet 构建应用

预算、报价和计算表

业务应用让用户在熟悉的网格中编制预算、给出报价并核算成本。你的应用程序用数据填充工作表,用户修改数值和公式,结果立即重新计算。

  • 211 个函数
  • 已定义名称
  • 冻结窗格
运行 Basic 演示

与 Excel 交换工作簿

客户发来 XLSX 文件,也期望收到 XLSX 文件。sgcSpreadsheet 会加载包含工作表、公式和图表的工作簿,让用户在你的应用程序中处理它,并保存为 Excel 能打开的文件。

  • XLSX 加载和保存
  • 多个工作表
  • 文件中的图表
运行 Charts 演示

为用户提供行业公式

工程、金融和实验室应用需要自己的计算。在代码中注册 MARKUP 或 TAX 这样的函数,用户就可以像使用内置函数一样在公式中调用它。

  • 自定义函数
  • 动态数组
查看 Functions 演示

几行代码构建工作表

写入数值和公式,溢出动态数组,冻结标题行,添加图表,并将工作簿保存为 XLSX。

sgcVCLSpreadsheet1 是窗体上的一个 TsgcVCLSpreadsheet。图表类型和枚举在 sgcSpreadsheet_Charts 中声明。

uses
  sgcSpreadsheet_Charts, sgcSpreadsheet_VCL;

procedure TForm1.BuildBudget;
var
  oChart: TsgcSpreadsheetChart;
begin
  // 行和列从 0 开始:(0, 0) 是 A1
  sgcVCLSpreadsheet1.SetCellInput(0, 0, 'Month');
  sgcVCLSpreadsheet1.SetCellInput(0, 1, 'Revenue');
  sgcVCLSpreadsheet1.SetCellInput(1, 0, 'Jan');
  sgcVCLSpreadsheet1.SetCellInput(1, 1, '42000');
  sgcVCLSpreadsheet1.SetCellInput(2, 0, 'Feb');
  sgcVCLSpreadsheet1.SetCellInput(2, 1, '45500');
  sgcVCLSpreadsheet1.SetCellInput(3, 0, 'Total');
  sgcVCLSpreadsheet1.SetCellInput(3, 1, '=SUM(B2:B3)');
  // 动态数组:排序后的收入溢出到 D1:D2
  sgcVCLSpreadsheet1.SetCellInput(0, 3, '=SORT(B2:B3,1,-1)');
  // 工作表滚动时保持标题行可见
  sgcVCLSpreadsheet1.FreezePanes(1, 0);
  // 该区域的柱形图,由 sgcCharts 绘制
  oChart := sgcVCLSpreadsheet1.AddChart(sctColumn, 'A1:B3');
  oChart.Title := 'Revenue';
  oChart.Legend := sclRight;
  sgcVCLSpreadsheet1.SaveToXLSX('budget.xlsx');
end;

.NET 控件使用相同的名称。sheet 是一个 TsgcWinFormsSpreadsheet,WPF 和 Avalonia 控件的用法相同。

using esegece.sgcSpreadsheet;

// 行和列从 0 开始:(0, 0) 是 A1
sheet.SetCellInput(0, 0, "Month");
sheet.SetCellInput(0, 1, "Revenue");
sheet.SetCellInput(1, 0, "Jan");
sheet.SetCellInput(1, 1, "42000");
sheet.SetCellInput(2, 0, "Feb");
sheet.SetCellInput(2, 1, "45500");
sheet.SetCellInput(3, 0, "Total");
sheet.SetCellInput(3, 1, "=SUM(B2:B3)");
// 动态数组:排序后的收入溢出到 D1:D2
sheet.SetCellInput(0, 3, "=SORT(B2:B3,1,-1)");
// 工作表滚动时保持标题行可见
sheet.FreezePanes(1, 0);
// 该区域的柱形图,由 sgcCharts 绘制
TsgcSpreadsheetChart chart = sheet.AddChart(TsgcSpreadsheetChartType.sctColumn, "A1:B3");
chart.Title = "Revenue";
chart.Legend = TsgcSpreadsheetChartLegend.sclRight;
sheet.SaveToXLSX("budget.xlsx");

运行 sgcSpreadsheet 演示

演示项目随适用于 Delphi 的 sgcUI 试用版一同安装。.NET 演示随 Registered .NET 下载包提供。

VCL Basic 演示,显示销售工作簿和公式栏

Basic

用代码构建的销售工作簿,使用 SUM、AVERAGE、IF 和 XLOOKUP,并带有读取它的汇总工作表、冻结的标题行、公式栏,以及 XLSX 的打开和保存。

Functions 演示,显示数学公式及其结果,每个类别一个工作表

Functions

数学、文本、日期和时间、查找以及动态数组函数,每个类别一个工作表,每个公式旁边都显示其结果。

Charts 演示,在工作表上显示柱形图、折线图和饼图

Charts

由单元格区域生成的柱形图、折线图和饼图。修改收入或成本,图表随之变化。

CustomFunction、BasicFMX 和 ChartsFMX

由应用程序注册并用于公式的函数,以及在 FireMonkey 上使用 TsgcFMXSpreadsheet 的 Basic 和 Charts 演示。Basic 和 Charts 也提供 C++ Builder 工程。

.NET 演示

适用于 WinForms 的 SpreadsheetBasic,以及 SpreadsheetBasicWpf、SpreadsheetBasicAvalonia、SpreadsheetFunctions、SpreadsheetCharts 和 SpreadsheetCustomFunction。

sgcSpreadsheet 包含在哪些版本中

sgcSpreadsheet 可单独购买,分别适用于 Delphi 和 C++ Builder 以及 .NET,同时也包含在 sgcUI Enterprise 和 All-Access 套件中。没有免费的 Community 版本。

sgcSpreadsheet 单个包

€299 / 开发者,含完整源代码,1 年更新。随附安装 sgcGrid 和 sgcCharts。

购买 sgcSpreadsheet → 查看价格 →

sgcSpreadsheet .NET

€299 / 开发者,WinForms、WPF 和 Avalonia 控件,以 Registered NuGet 包提供。

购买 sgcSpreadsheet .NET →

sgcUI Enterprise

包含所有 sgcUI 产品,其中有 sgcSpreadsheet、sgcGrid 和 sgcCharts,起价 €699。

查看 Enterprise →

支持的框架与平台

sgcSpreadsheet 中的组件

VCL

TsgcVCLSpreadsheet 及其公式栏 TsgcVCLSpreadsheetFormulaBar。

FireMonkey

TsgcFMXSpreadsheet 及其公式栏 TsgcFMXSpreadsheetFormulaBar。

.NET

TsgcWinFormsSpreadsheet、TsgcWpfSpreadsheet 和 TsgcAvaloniaSpreadsheet,均带公式栏。

图表

TsgcSpreadsheetCharts,每个工作表的图表,由 sgcCharts 绘制。

目标组件版本和平台
Delphi 7 至 13TsgcVCLSpreadsheet 和 TsgcVCLSpreadsheetFormulaBarWindows
C++ Builder 2007 至 13相同的类生成的 .hpp 头文件和静态库
FireMonkeyTsgcFMXSpreadsheet 和 TsgcFMXSpreadsheetFormulaBarDelphi XE6 及更高版本
.NET 核心库esegece.sgcSpreadsheet.NET Standard 2.0、.NET Framework 4.7.2、.NET 6、8、9 和 10
WinForms 和 WPFTsgcWinFormsSpreadsheet、TsgcWpfSpreadsheetWindows 上的 .NET Framework 4.7.2、.NET 8、9 和 10
AvaloniaTsgcAvaloniaSpreadsheet.NET 8、9 和 10

常见问题解答

sgcSpreadsheet 构建在 sgcGrid 之上,并用 sgcCharts 绘制图表。单个 sgcSpreadsheet 许可证会随附安装这两者,因此电子表格始终可用。sgcUI Enterprise 和 All-Access 也包含它们。

可以。LoadFromXLSX 会读取 XLSX 工作簿的每个工作表,包括其公式、格式、已定义名称、动态数组、列宽、冻结窗格和图表,SaveToXLSX 则写入 Excel 能打开的文件。

可以。公式引擎带有函数注册表。在 Delphi 和 C++ Builder 中,从单元的 initialization 部分调用 sgcCalcRegisterFunction,该函数就能像内置函数一样用于电子表格的每个公式。CustomFunction 演示展示了 Delphi 和 .NET 中的用法。

没有。sgcSpreadsheet 提供适用于 Delphi 和 C++ Builder 或 .NET 的单个包,也包含在 sgcUI Enterprise 和 All-Access 中。.NET 包仅限 Registered 用户,不在 nuget.org 上发布。请使用 sgcUI 试用版进行评估。

包含。每个 sgcSpreadsheet 许可证都包含完整源代码和 1 年更新。请参阅价格页面。

sgcSpreadsheet 帮助

在线帮助

sgcUI 帮助:Delphi、C++ Builder 和 .NET.

PDF 手册

Delphi、C++ Builder 和 .NET,涵盖所有 sgcUI 产品。

3,000+开发者
20+年
761+组件
30+API 集成
5平台
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策

立即试用 sgcSpreadsheet

sgcUI 试用版包含 sgcSpreadsheet、sgcGrid、sgcCharts 以及所有其他 sgcUI 产品。