报表设计
基于 UReport2 深度定制,支持可视化设计、API 数据源、多格式导出的企业级报表设计工具
核心功能
从报表设计到数据导出,提供完整的报表开发功能
1可视化报表设计器
Web 端拖拽式报表设计器,所见即所得,业务人员也能快速上手。
- 网格式单元格系统,灵活布局
- 支持合并单元格、条件格式
- 内置公式与表达式引擎
- 图表组件:柱状图、折线图、饼图、雷达图
- 支持分组、汇总、交叉表
2多数据源支持
同时支持传统 JDBC 数据库和 HTTP REST API 两种数据源,适应现代微服务架构。
- JDBC:连接任意关系型数据库,SQL 查询取数
- HTTP API:GET / POST / PUT / DELETE 方法
- API 响应 JSON 解析,支持嵌套路径提取
- 参数模板变量
${paramName}替换 - API 响应预览与字段自动发现
3多格式导出
报表支持多种输出格式,满足不同场景需求。
- HTML 在线预览,支持响应式渲染
- Excel 导出,保留样式和公式
- PDF 导出,适合打印和归档
- 直接打印支持
4大数据量处理
针对大数据场景进行专项优化,确保大报表也能流畅导出。
- API 分页配置,逐页拉取大数据集
- 流式导出模式,降低内存占用
- SSE 实时进度推送,导出过程可视化
- 可配置最大页数和每页大小
相比原版 UReport2 的增强
在开源 UReport2 基础上进行了多项关键改进
HTTP/REST API 数据源
新增 HTTP 数据源类型,直接从 REST API 获取数据填充报表,无需中间库表。
SSE 实时进度
使用 Server-Sent Events 替代轮询,导出大报表时实时推送进度百分比。
分页导出配置
报表级别分页参数配置,支持自定义页码参数名、每页大小和最大页数。
多导出模式
用户可选择标准导出或流式导出,根据数据量选择最优策略。
隐藏列宽度修正
修复了合并单元格中隐藏列的宽度计算问题,确保导出结果准确。
参数表格优化
参数配置界面支持长文本自动换行,URL 和表达式参数展示更友好。
动态列按序号绑定
支持按序号绑定数据集列,配合 field_name() 函数实现动态列头,上父格自动合并,适用于列数不固定的报表。
技术架构
基于 Java 生态构建,与 Spring Boot 无缝集成
Spring Boot
Spring Boot 集成,开箱即用,支持独立部署或嵌入现有项目
ANTLR 表达式
ANTLR 4 驱动的表达式引擎,支持复杂公式计算
Chart.js 图表
基于 Chart.js 的图表渲染,支持柱状图、折线图、饼图等
XML 报表格式
报表定义以 XML 格式存储,版本可控,易于迁移和备份