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

阅读更多

我们平时打印报表中可能遇上很多问题,比如说想通过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,须为二维表结构数据

报表打印问题整体解决方案_第1张图片

Xml数据源转换

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

报表打印问题整体解决方案_第2张图片

批量打印接口调用

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

 报表打印问题整体解决方案_第3张图片

你可能感兴趣的:(FineReport,报表,打印)