MAD Designer iconMAD

MAD Designer 图标面向关系型报表的开放格式与可嵌入引擎——在这里,每一份报表都是一个可移植的查询图、一张物化的 SQLite 表和一套参数化布局。

MAD 是一个用 Objective-C 从零构建的关系型报表平台,用于即席查询、报表和设计:面向 iOS 与原生 macOS(AppKit)的 MAD Designer 和 MAD Viewer 应用,在 Linux 与 macOS 上以无头方式运行它们的引擎,以及开放的 .mad 文档格式。一个 .mad 文件在不到 100 KB 的体积内保存报表的完整定义——数据库架构快照、查询图(表、连接、谓词、分组)以及各元素的带区布局——并与刷新时生成的物化 SQLite 表(.maddb + .mdcache)清晰分离。

代码位于 github.com/mthomason/MAD,采用 MIT 许可证;项目名称与应用美术资源不在该许可证的授权范围内(参见 NOTICE)。

在 macOS 上试用 MAD Designer(macOS 12.0+,Apple Silicon):

看看效果

适用于 macOS 的 MAD Designer——原生 AppKit 桌面应用(NSDocument、可视化的表与连接查询画布、可交互的节区缩略图与带区报表设计器,以及分页的 PDF/HTML/CSV/JSON 报表查看器):

原生 macOS 应用中的 MAD Query 工作区

原生 macOS 应用中的 MAD Designer 工作区

适用于 iOS 的 MAD Designer,从选择数据源到在 MAD Viewer 中阅读完成的报表:

同一引擎在 Linux 上以无头方式运行:通过 mad CLI 执行 inspect、schema、query、refresh 和 export,无需数据库服务器,也无需凭据:

mad CLI 正在检查、查询、刷新并导出一个 .mad 文档

录像中导出的报表是纯 HTML,可在任意浏览器中打开。

为什么选择 MAD

.mad 格式

开放规范,每个文件一章:

文档是什么 · 容器 · 存储 · 读取与写入 · 伴随文件 · 风险 · 规范性 v1 · 开放问题 · 验证

使用引擎

方向

愿景——报表即组合式数据库表、单份报表中的多数据源查询、超越纸面范式的原生 UIKit 数据视图,以及把旧版 Crystal Reports(.rpt)转换为开放的 .mad 文件。


构建于该引擎之上的报表设计器 MAD Designer 应用有自己的站点:mad.everydayapps.com。

本页为英文原文的简体中文翻译;如有出入,以英文原文为准。