欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-10 08:30:44
...

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

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

Xml数据源转换

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

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

批量打印接口调用

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

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