Seal Report

Seal Report

连数据库出报表的开源工具

开发官网

应用介绍

业务那边每周要一张销售明细,你就得跑一遍 SQL、导成 Excel、调格式、发邮件,周而复始。想上个 BI 吧,报价单一看就是按用户数收钱的。Seal Report 是 MIT 协议的开源项目,把这条流水线整个接过去:拖字段搭模型、定时执行、结果直接发邮件或落到目录里,不用再当人肉定时任务。

它分两块。Report Designer 是 Windows 桌面程序,左边一棵树管数据源、模型、视图和输出,中间把数据库字段拖进页、列、行、数据四个区,限制条件拖进下面的 Restrictions,点 Execute 就出结果;SQL 想自己写也行,F7 直接看生成的语句。另一块是 Web 服务器,把报表发布出去之后,其他人在浏览器里按文件夹找报表、填参数、看图表,不用装任何客户端。

软件功能



拖拽式报表模型:从数据源的表结构里把字段拖到 Page / Column / Row / Data 四个区域,联表和列会自动补上,不必手写 JOIN。

SQL 和 LINQ 两种模型:SQL 模型直接打数据库;LINQ 模型能把几个不同的数据源(甚至不同数据库)拼在一张报表里。

执行时提示参数:限制条件可以标成「执行时询问」,看报表的人自己选日期区间、品类、客户,一张报表顶十张。

定时任务与输出:报表可以按计划执行,结果生成 HTML 或 PDF,自动发邮件或写到指定目录,周报不用再手动跑。

Web 报表服务器:自带 Web 界面,报表按文件夹组织,支持搜索、排序和权限,浏览器里直接看图表和数据表。

图表与交互表格:内置 Chart.js 和 DataTables 的渲染,柱状、折线、仪表盘、帕累托图这些都有现成示例,表格支持固定表头和滚动。

脚本扩展:模型的加载前后和最终输出都能挂 C# 脚本,做数据清洗、行级计算或者自定义展示。

示例仓库随装随看:安装后自带一整套示例报表,从最简单的列表到跨表交叉、ETL 任务和 PDF 输出,照着改比从零搭快。