sgcUI sgcReports 现已发布

sgcReports。 设计一次。 输出所有格式。

用流式链式调用在代码中构建报表,或在运行时加载 JSON 定义,支持分组、小计、主从和条形码。可从桌面预览、Windows 服务或 Linux64 守护进程输出带标签的 PDF、Excel、CSV 或 PNG。适用于 Delphi、C++ Builder 和 .NET 的报表引擎,附带源代码。

  • VCL
  • FireMonkey
  • WinForms
  • Linux64 无界面
  • Delphi 7 至 13
sgcReports 预览窗口,显示一页发票和一个二维码
  • 4一份准备好的报表可导出的格式:PDF、XLSX、CSV 和 PNG
  • PDF/UA-1默认输出带标签、可访问的 PDF,按需输出 PDF/A-3
  • 3种数据源:任意 TDataSet、JSON 数组和您自己的事件
  • 0个外部 DLL 或打印机驱动,因此可在服务和 Linux64 守护进程中运行

报表引擎所需的一切。

布局可纳入版本控制,数据来自任何地方,为每位读者提供文件,引擎无需窗口即可运行。sgcReports 在一个产品中涵盖了这一切。

  • 报表即代码

    流式构建器或 JSON 定义,都可与您的项目一同纳入版本管理。

  • 任意数据

    带主从关系的数据集、JSON 数组,或来自您自己事件的行。

  • 所有格式

    一份准备好的报表即可输出带标签的 PDF、PDF/A-3、XLSX、CSV 和 PNG。

  • 随处运行

    桌面预览、Windows 服务、Linux64 守护进程和 HTTP 端点。

看它运行。

截取自试用版附带的 sgcReports 演示。

ReportFluent 演示:用流式构建器编写的完整报表,然后导出为所有格式
报表即代码

用几行易读的代码编写一份完整的报表。

  • TsgcReportBuilder 将样式、页面、带区和项目描述为一条流式链,可随您的项目一起编译、比较和重构。
  • Style、Page、GroupHeader、MasterData、GroupFooter 和 PageFooter 读起来就像版面布局本身。
  • SaveToPDF、SaveToXLSX、SaveToCSV 和 SaveToPNG 直接从构建器保存。
按区域分组的销售额,含分组页眉、每个区域的小计和总计
带区与分组

分组、小计和页码,开箱即用。

  • 真正的带区式布局,从 rbtReportTitle 到 rbtReportSummary,包含分组页眉与页脚以及列标题。
  • GroupExpression 在分组值变化时断开分组;嵌套分组可实现两级或更多级。
  • StartNewPage、RepeatOnEveryPage 和 KeepTogether 控制分页流程,TotalPages 可打印“第 2 页,共 7 页”。
ReportInvoice 演示:包含页眉、明细行、合计和二维码的主从发票
任意数据

直接用数据库生成发票。

  • TsgcReportDataSetSource 可绑定任意 TDataSet(包括 FireDAC),并通过 MasterFields 和 DetailFields 将明细行关联到其主表。
  • TsgcReportJSONSource 读取 JSON 字符串或文件,RecordsPath 选取数组。
  • TsgcReportEventSource 通过 OnFirst、OnNext 和 OnGetValue 从您的代码中获取行。
ReportPDFUA 演示:带替代文本和标题角色的带标签 PDF/UA-1 输出
随处交付

默认输出可访问的 PDF,按需输出 PDF/A。

  • PDFUA 在 TsgcReportPDFExport 上默认为 True:带逻辑阅读顺序的带标签 PDF/UA-1。
  • AltText 和 TagRole 项目上的这两个属性用于描述图像和标题。
  • 当文档要进入长期归档时,将 PDFA 设为 rpaA3b 或 rpaA3a。

几行代码生成分组销售报表。

每个区域一个页眉,每笔销售一行,每个区域一个小计,保存为 PDF、XLSX 和 CSV。Delphi、C++ Builder 和 C# 中的 API 相同。

dotnet add package esegece.sgcReports

C++ Builder 和 C# 版本

uses
  Classes, SysUtils,
  sgcReports_Types, sgcReports_Model, sgcReports_Data, sgcReports_Fluent;

const
  CS_SALES = '[' +
    '{"Region":"East","Customer":"Acme Corp","Amount":1450.00},' +
    '{"Region":"East","Customer":"Blue Harbor","Amount":600.00},' +
    '{"Region":"North","Customer":"Nordic Labs","Amount":2100.75},' +
    '{"Region":"North","Customer":"Fjord Ltd","Amount":880.20}]';
  CS_TOTAL = '[FormatFloat(''#,0.00'', Sum(Sales.Amount))]';

procedure ExportSalesReport(const aFolder: string);
var
  oSales: TsgcReportJSONSource;
  oBuilder: TsgcReportBuilder;
begin
  oSales := TsgcReportJSONSource.Create(nil);
  oBuilder := TsgcReportBuilder.Create;
  try
    oSales.SourceName := 'Sales';
    oSales.JSON := CS_SALES;
    oBuilder.Title('Sales by region').Author('eSeGeCe').Units(ruMillimeters)
      .Style('Base').Font('Arial', 10).EndStyle
      .Style('Group').Font('Arial', 11).Bold.BackColor($EEEEEE).EndStyle
      .Page.Paper(rpsA4).Margins(15)
      // one header per region, one line per sale, a subtotal per region
      .GroupHeader('Sales.Region', 9).Style('Group')
      .Text('Region: [Sales.Region]', 0, 1, 180, 7).TagRole(rtrHeading2).EndBand
      .MasterData('Sales', 6).Style('Base')
      .Text('[Sales.Customer]', 2, 0, 120, 6)
      .Text('[Sales.Amount]', 130, 0, 50, 6).AlignRight.Format('#,0.00').EndBand
      .GroupFooter(9).Style('Base')
      .Text('Region total ' + CS_TOTAL, 80, 1, 100, 6).AlignRight.Bold.EndBand
      .PageFooter(8).Style('Base')
      .Text('Page [Page] of [TotalPages]', 0, 1, 180, 6).AlignCenter.EndBand
      .EndPage.Data(oSales);
    // accessible PDF (PDF/UA is on by default), plus the same data as Excel
    oBuilder.SaveToPDF(IncludeTrailingPathDelimiter(aFolder) + 'sales.pdf');
    oBuilder.SaveToXLSX(IncludeTrailingPathDelimiter(aFolder) + 'sales.xlsx');
    oBuilder.SaveToCSV(IncludeTrailingPathDelimiter(aFolder) + 'sales.csv');
  finally
    oBuilder.Free;
    oSales.Free;
  end;
end;

sgcUI 的一部分。

可单独购买 sgcReports,也可在 sgcUI Enterprise 中与其他所有 sgcUI 产品一起获得,共用同一个主题和运行时。均附带源代码。

单独购买

sgcReports

单独的报表引擎,包含完整源代码和 1 年更新。

€199 / 每位开发者
sgcReports 价格

Standard

sgcGrid、sgcNavigation、sgcToolbar 和 sgcEditors。

€380 / 每位开发者
查看 Standard

Professional

Standard 加上 sgcCharts、sgcDashboard 和 sgcGauges。

€529 / 每位开发者
查看 Professional
包含 sgcReports

Enterprise

全部 16 款 sgcUI 产品。

€699 / 每位开发者
查看 Enterprise

sgcReports 使用 sgcPDF 引擎绘制 PDF 输出和条形码,因此所有配置都需要 sgcPDF。对于 .NET,esegece.sgcReports.Community 在 NuGet 上免费提供。sgcReports 也包含在 All-Access 套餐。

了解 sgcUI

今天就把 sgcReports 用到您自己的应用程序中。

下载试用版并运行 ReportInvoice、ReportGroups 和 ReportExports 演示,也可以先浏览所有功能。

博客最新动态

查看全部文章 →

您正在查看 eSeGeCe 的 sgcReports 视角。

换个角度看看 →
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策