报表打印问题整体解决方案

简介:

我们平时打印报表中可能遇上很多问题,比如说想通过xml数据源制作模板,而非单独通过数据库sql语句导出数据,又比如说想实现静默打印、预览打印,及批量打印,或者想选择不同的页面,系统可根据自己的选择,在点击打印后选择不同模板进行打印等等这些问题。也许一时半会得不到解决,今天我就来分享一下一些打印报表的问题解决方案。

报表开发需求描述

系统需求

1、已开发好的报表模板:供用户打印及浏览;

2、未开发报表模板:可以让用户自主开发报表模板,并上传保存到服务器,供后续打印及浏览。

具体需求列表

1、用户可以通过xml数据源制作模板,而非单独通过数据库sql语句导出数据;

2、打印系统和报表系统实现单点登录,以便用户在系统切换过程中,无需再次登录便可直接打印;

3、各仓库报表模板存放于不同目录下,方便后续管理;

4、能够实现静默打印、预览打印,及批量打印等;

5、用户选择不同的页面,系统可根据用户的选择,在点击打印后选择不同模板进行打印;

6、模板权限控制,用户只能预览及打印权限内的模板,对于其他模板,则没有权限进行预览及打印操作。

工具

报表开发工具:FineReport

FineReport是一款集数据展示(报表)和数据录入(表单)功能于一身,用于快速构建企业信息系统的Java报表开发工具。

报表开发方案概述

报表开发流程设计

1、业务人员利用空数据的xml数据源制作报表;

2、将报表上传至服务器;

3、用户选择打印模块箭头;

4、通过动态生成xml,打印出有数据的模板。

业务人员制作报表

1、通过加载空数据的xml数据源,获取数据字段;

2、拖拽数据,制作模板;

3、将制作好的模板,通过开发的上传页面,将模板分类保存到不同目录下(finereport无法直接完成、需自主编写上传)。

业务人员打印

1、业务人员在已开发好的页面,选择要打印的模块;

2、选择要打印的报表;

3、后台生成有数据的xml,推送给报表模板(有接受参数接口);

4、直接打印(静默打印)、或打印预览(有打印接口)。

xml格式要求

生成的xml,须为二维表结构数据

20150902102513998

Xml数据源转换

用户在制作报表时,用的是空数据的xml,但打印时,需实时连接有数据的xml。通过xml文件名,用参数形式实现动态转换。

20150902102524375

批量打印接口调用

直接通过Get或Post方式批量调用模板打印功能即可,如下function

 20150902102529548



本文转自 雄霸天下啦 51CTO博客,原文链接:http://blog.51cto.com/10549520/1690712,如需转载请自行联系原作者

相关文章
|
16天前
|
数据采集 监控 数据可视化
深入探究ERP系统的业务智能与报表分析模块
深入探究ERP系统的业务智能与报表分析模块
22 1
|
17天前
|
数据采集 数据可视化 算法
深入解析ERP系统的业务智能与报表分析模块
深入解析ERP系统的业务智能与报表分析模块
20 3
|
8月前
|
数据建模 BI OLAP
哪些报表该放入报表系统,哪些又该放到业务系统里?
哪些报表该放入报表系统,哪些又该放到业务系统里?
|
8月前
|
SQL Java 关系型数据库
从系统报表页面导出20w条数据到本地只用了4秒,我是如何做到的
最近有个学弟找到我,跟我描述了以下场景: 他们公司内部管理系统上有很多报表,报表数据都有分页显示,浏览的时候速度还可以。但是每个报表在导出时间窗口稍微大一点的数据时,就异常缓慢,有时候多人一起导出时还会出现堆溢出。 他知道是因为数据全部加载到jvm内存导致的堆溢出。所以只能对时间窗口做了限制。以避免因导出过数据过大而引起的堆溢出。最终拍脑袋定下个限制为:导出的数据时间窗口不能超过1个月。
|
9月前
|
SQL 安全 关系型数据库
案例07-在线人员列表逻辑混乱
在线人员列表逻辑混乱
|
11月前
|
存储 数据可视化 测试技术
「数据架构」5分钟学会数据流程图:客户服务系统示例
「数据架构」5分钟学会数据流程图:客户服务系统示例
|
11月前
|
BI 数据库
汇总报表怎么做,如何设计实现汇总报表?
汇总报表怎么做,如何设计实现汇总报表?
|
JavaScript 数据挖掘 程序员
用户行为分析​的准备工作和简单分析的场景
用户行为分析​的准备工作和简单分析的场景
100 0
用户行为分析​的准备工作和简单分析的场景
|
数据挖掘 BI 开发者
业务分析报表|学习笔记
快速学习业务分析报表
94 0
业务分析报表|学习笔记
|
BI 关系型数据库 数据库
银行业大数据量清单报表案例
银行数据查询业务中,经常会碰到数据量很大的清单报表。由于用户输入的查询条件可能很宽泛,因此会从数据库中查出几百上千万甚至过亿行的记录,比如银行流水记录;为了避免内存溢出,一般都会使用关系型数据库的分页机制来做,但结果往往也不尽人意;有些情况下甚至底层采用了非关系型数据库,这更会加剧了问题的复杂度。
1210 0