一、引言在当下以B/S架构为主流的软件系统盛行的潮流中,数据内容的报表输出(预览、打印、导出)是一个硬需求。对于此需求的技术支持,一般有以下几种解决模式:
(一)通过一对一的定制固化的HTML+JS页面来实现此模式具有以下特性:
1.定制化程度高,代码级控制,按纸张特征(尺寸、方向)控制不易;
2.报表的预览/打印与导出,需要做多套定制化的技术方案;
3.报表需求的变化与扩展,末端用户自主调整可能性为零,需要技术人员实现,且需要进行版本迭代;
(二)通过第三方的报表组件来实现此模式具有以下特性:
1.第三方的报表组件主要解决普世性的通用报表需求,封装性高、独立性强;一般有设计器、有控制模型、有报表预览器、有报表导出器(主要采用将页面保存为PDF)、EXCEL导出器(有或无);
2.集成其报表组件,需要按其控制机制来预组装报表数据,报表内容的生成或导出过程,干预控制度低;
3.第三方的报表组件授权费用高、功能差异化的定制可能性为零。
(三)通过C/S报表程序来实现此模式具有以下特性:
1.需要将报表封装成一个独立的C/S报表执行文件;
2.需要将C/S报表执行文件通过程序安装的方式,在操作系统层进行注册;
3.涉及到B/S页面调用C/S报表执行文件时的人机交互界面不友好;
4.B/S系统与C/S报表执行文件之间的架构技术复杂,主要原因是涉及到报表内容数据包大的问题;
5.无法适配所有的操作系统;
(四)通过本地HTTP服务来实现此模式具有以下特性:
1.架构技术复杂,其程序需要常驻内在;
2.其机制与第(三)种方式类似;
3.主要解决第(三)种方式在人机交互界面的友好性问题;
(五)通过ActiveX插件来实现此模式具有以下特性:
1.其机制与第(三)种方式类似;
2.在早期用的较普遍,适配于低版本的IE浏览器;
二、睿弈WEB报表模块简介睿弈WEB报表模块作为睿弈系统平台的基础组成模块之一,主要目的为解决睿弈各个子系统的报表需求。
该模块的技术实现的基础是睿弈科技经历过上述传统报表研发过程(一)、(三)、(四)、(五)的技术沉淀。
其技术架构路线为:HTML+JS+CSS+JSON,该架构决定基本身具有高度的兼容性与可集成性。
其具有低耦合、易接入、高扩展性、处理速度快(毫秒级)的特点。
三、睿弈WEB报表实现的功能1.提供报表设计器模块(含可视化设计与文本式编辑)两种模式;
2.提供报表数据接口(含报表定义获取回调接口、报表内容获取回调接口);
3.提供不同纸张控制功能(含纸张尺寸、纸张方向);
4.提供分页控制功能(含预览分页、导出分页);
5.提供内容超宽控制功能(分超宽不控制、超宽自动扩展行高、超宽自动缩小三种模式);
6.提供多报表批量一次性成套预览打印功能;
应用场景举例:
1)发票+商品明细的套打;
2)造价软件中成套造价数据的套打;
7.提供多报表批量一次性成套导出功能;
应用场景举例:
1)发票+商品明细地导出;
2)造价软件中成套造价数据的导出;
8.提供报表生成过程的差异化控制能力;
应用场景举例:
1)本页小计、合计需求;
2)不同数据行的单元格合并需求;
3)不同数据行的样式差异化控制需求(调字体、色彩、背景等);
9.支持扩展插件的驱动能力,满足深度定制需求;
应用场景举例:
1)需要生成其他数据格式的需求;
2)需要加报表个性化水印需求;
10.提供报表输出日志的快照回放功能,适用于OA/ERP等管理系统的数据输出日志审计需求;
11.实现高性能的数据导出能力,在数据完备情况下,五十个Sheet页面的Excel文件,秒级生成。
四、睿弈WEB报表模块架构图
五、睿弈WEB报表模块界面案例(一)可视化设计器
(二)报表预览1.主界面
2.单报表
3.套报表
六、睿弈WEB报表模块价值睿弈WEB报表模块的方案架构与技术实现,有效解决了传统B/S系统的报表生成需求,从实操角度兼顾了各种报表的差异化控制需求,人机交互界面友好,可以真正为各类存在报表需求的用户进行技术赋能。

杭州睿弈科技有限公司,值得信赖的企业信息化顾问!