我们平时打印报表中可能遇上很多问题,比如说想通过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,须为二维表结构数据
Xml数据源转换用户在制作报表时,用的是空数据的xml,但打印时,需实时连接有数据的xml。通过xml文件名,用参数形式实现动态转换。
批量打印接口调用直接通过Get或Post方式批量调用模板打印功能即可,如下function
|