前言
Seal-Report 是一款.NET 开源报表工具,拥有 1.4K Star。它提供了一个完整的框架,使用 C# 编写,最新的版本采用的是 .NET 8.0 。
它能够高效地从各种数据库或 NoSQL 数据源生成日常报表,并支持执行复杂的报表任务。
其简单易用的安装过程和直观的设计界面,我们能够在几分钟内创建并发布报表,同时还支持二次开发。
通过分享这个项目,希望能够帮助大家简化报表设计的流程,提高工作效率。
项目介绍
Seal-Report 它提供了简单且直观的报表设计功能,极大地减少了复杂的配置需求。
即使不具备编程知识,也能轻松使用 Seal-Report 设计报表。
通过采用 Seal-Report,企业可以迅速生成高质量的报表,进而提升工作效率和决策速度。
主要功能
- 动态 SQL 数据源:可以使用自定义的 SQL 语句,也可以让 Seal 引擎自动构建用于查询数据库的 SQL 语句。
- LINQ 查询:利用 LINQ 的强大功能连接和查询各种数据源(如 SQL、Excel、XML、OLAP 立方体、HTTP JSON 等)。
- 原生透视表:仅需简单的拖放操作即可在透视表(交叉表)中添加元素,并将其显示在报表中。
- HTML 5 和 ScottPlot 图表:通过简单的鼠标点击即可定义和显示图表系列(支持 ChartJS、NVD3、Plotly、ScottPlot 和仪表盘等库)。
- 完全响应式的 HTML 渲染:利用 HTML5 的强大功能呈现报表结果(支持 Bootstrap 布局、响应式设计、表格排序和筛选)。使用 Razor 引擎自定义报表的 HTML 表现形式。
- Excel 和 PDF 输出:完全控制报表在 Excel 中的输出(使用 EPPlus 库)或 PDF 格式(使用 QuestPDF 库)。还支持其他多种格式(如 XML、JSON、文本、CSV 等)或可以轻松定制。
- 关键绩效指标 (KPI) 和小部件视图:创建并显示关键绩效指标 (KPI) 在单一报表中。
- Web 报表服务器:在 Web 上发布报表(支持 Windows 和 Linux 操作系统,使用 .NET Core)。
- 报表调度器:定期执行报表并生成结果,可以保存到文件夹、FTP/SFTP 服务器或通过电子邮件发送(集成 Windows 任务计划程序或作为服务运行)。
- 钻取导航和子报表:在报表结果中导航以查看详细信息或执行另一个报表。
- 报表任务与 ETL:定义任务以执行 ETL 或批量操作(如数据加载、Excel 加载、从 FTP/SFTP 下载文件、压缩、备份、数据处理等),或从外部程序集中触发过程。
- 低总体拥有成本 (TCO):产品设计考虑了最小化的持续维护成本。
- NuGet 包:提供 NuGet 包以方便集成到现有项目中。
- 原生支持 MongoDB:直接支持 MongoDB 数据源。
- 在线演示:提供 Web 报表服务器的实时演示。
开发环境
- .NET 8.0 (需要安装 Microsoft Windows Desktop Runtime 8)
- 数据库驱动程序:OLE DB, ODBC, MS SQLServer, MongoDB 或 MySQL
- 报表设计器:Microsoft Edge WebView2
- Web 报表服务器:Internet Information Services (IIS) 需要安装 ASP.NET Core Runtime 8(Hosting Bundle)或更高版本
- Visual Studio 2022
项目概述
1、实体和组件
2、部署和发布
项目效果
1、HTML 报表结果
2、报表设计器
3、Web 报表服务器
项目地址
- Github:https://github.com/ariacom/Seal-Report
- Web报表:https://sealreport.org/demo
- 官方网站:https://sealreport.org
总结
Seal-Report 的开发商 Ariacom 提供了两个主要的商业组件以增强其产品的功能
- Web报表设计器:允许用户从任何 Web 浏览器轻松编辑报表。
- PDF 和 Excel 转换器:可以将报表输出为 PDF 或 Excel 文件格式。
此外Seal-Report 还提供了名为 Seal in the Cloud 的服务,它为用户提供了一个完整的云端环境来充分利用 Seal Report 的强大功能和灵活性。
如果想尝试这些功能,访问 SealReport.com 并注册获取一个免费试用实例。这样就可以在服务器上上传并执行报表,体验 Seal-Report 的所有功能。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!