Seal Report:一款免费开源的报表工具
Seal Report 是一款基于 C# 语言开发的开源报表工具,可以从各种数据库或 NoSQL 数据源中生成日常报告,并且执行复杂的计划任务。
功能特性
- 免费开源:源代码托管在 GitHub 上,用户可以自由使用、修改、甚至集成到自己的系统中,成本几乎为零。
- 多数据源:支持各种 SQL 数据库(SQL Server、Oracle、MySQL、PostgreSQL、SQLite、Access 等)、ODBC、OLE DB、Excel、XML、MongoDB、JSON、REST API 等。
- 拖拽式报表设计:提供独立的报表设计器,通过简单的拖拽操作就能设计出包含表格、交叉表、图表(柱状图、饼图、折线图等)、子报表等丰富元素的报表模板,无需精通复杂编程。
- 交互式动态报表:Web 报表支持动态筛选/过滤、数据排序、数据钻取、图表联动等功能,极大增强了数据探索和分析的能力。
- 仪表盘功能:可以将多个关键报表或图表组件组合在一个页面上,形成一目了然的数据仪表板,方便管理者实时监控业务核心指标 (KPI)。
- 灵活的报表调度:内置强大的任务调度器,可以定时(例如每天、每周)自动执行报表生成任务。支持将生成的报表(PDF、Excel、HTML、CSV 等格式)自动发送到指定邮箱、保存到共享文件夹或 FTP 服务器,实现报表自动化。
- 集成与安全:提供 Web API,方便与其他系统集成。支持集成 Windows 身份验证或自定义安全机制,保障报表访问安全。
系统组件
Seal Report 是一个结构清晰、模块化的报表系统,其核心组件协同工作,共同完成数据连接、报表设计、执行、渲染、分发和管理的全流程。
Seal Report 体系结构和组件如下图所示:
其中:
- 报表设计器(Report Designer)是用户创建和修改报表定义的核心工具。它是一个独立的 Windows 桌面应用程序。
- 服务管理器(Server Manager)承担报表的集中管理、调度执行、安全控制、外部集成等关键任务。
- 任务调度器(Task Scheduler)按照配置计划自动触发报表的执行、生成输出文件以及执行分发操作。
- Web 报表服务器(Web Report Server)是面向最终用户(业务人员、管理者)的交互式 Web 门户。
这些组件支持的部署环境如下:
在线体验
Seal Report 提供了一个在线的 Web 报告服务器,可以通过浏览器进行体验,网址如下:
https://sealreport.org/demo
点击任意报表可以查看详细内容:
下载安装
安装 Seal Report 需要提前准备以下环境:
- Windows .Net 8.0 (Microsoft Windows Desktop Runtime 8);
- 数据库 OLE DB、ODBC、SQLServer,、MongoDB、MySQL 或者 PostgreSQL 驱动;
- 报告设计器需要 Microsoft Edge WebView2 组件;
- Web 报告服务器现需要 ASP.Net Core Runtime 8 (Hosting Bundle) 或者更高版本。
输入以下网址下载安装文件(sealsetup_8.3.exe):
https://github.com/ariacom/Seal-Report/releases
下载完成后双击运行安装程序:
安装提示一步步完成即可。
然后启动报表设计器(SealReportDesigner.exe)开始创建报告,建议从官方教程开始学习:
https://sealreport.org/Tutorials