一种基于Excel模版与前端交互的报表填报和展示方法技术

技术编号:38551118 阅读:8 留言:0更新日期:2023-08-22 20:57
本发明专利技术公开了一种基于Excel模版与前端交互的报表填报和展示方法,通过配置Excel模板,以适用于任意格式的报表或填报报表,满足不同报表的个性化需求;然后将Excel模板转换成底层的元数据,根据模板要求再结合业务封装一个javaBean对象,再将底层元数据与javaBean对象结合,生成前端交互协议,前端根据协议呈现报表和数据,并可以下载报表;同时本发明专利技术能反向解析填报后的交互数据,再转换成JavaBean对象,实现业务操作,大大减少了定制化报表和数据填报的开发难度。据填报的开发难度。据填报的开发难度。

【技术实现步骤摘要】
一种基于Excel模版与前端交互的报表填报和展示方法


[0001]本专利技术属于计算机
,具体涉及一种基于Excel模版与前端交互的报表填报和展示方法。

技术介绍

[0002]随着公司业务不停的发展,传统的数据报表与填报方案已不太适应随时变化的需求,需要更快捷的报表开发或填报方案,来满足中国式报表的个性化需求。
[0003]为此本专利技术通过Excel模板的简单配置,将模板转换成前端底层元数据,开发人员只需要根据模板要求并结合业务封装javaBean对象,再将元数据与javaBean对象结合,生成前端交互协议,前端根据协议呈现报表和数据,并可以下载报表;同时本专利技术还能反向解析填报后的交互数据,再转换成JavaBean对象,实现业务操作。

技术实现思路

[0004]本专利技术要解决的技术问题是:提供一种基于Excel模版与前端交互的报表填报和展示方法,以至少解决上述技术问题。
[0005]为实现上述目的,本专利技术采用的技术方案如下:一种基于Excel模版与前端交互的报表填报和展示方法,其应用于报表展示端包括:步骤A1、配置非填报式报表对应的第一Excel模板,包括需要填充的字段、Excel公式、样式和单元格合并;步骤A2、将第一Excel模板转化为元数据;步骤A3、基于业务所需,查询第一Excel模板中需要填充字段的数据,将需要填充字段的数据封装成第一javaBean对象;步骤A4、将所述元数据与第一javaBean对象结合生成第一数据模板,并对动态元数据与第一数据模板进行适配,例如列表数据可以根据数据量的大小来横向或纵向扩充第一数据模板的行或列,还可以根据数据来适配合并第一数据模板的单元格;然后解析第一Excel模板中的Excel公式,将解析结果填充到第一数据模板中;步骤A5、根据业务需求,将填充完成的第一数据模板转换成与前端的交互协议;步骤A6、解析与前端的交互协议,然后渲染为非填报式报表进行展示。
[0006]进一步的,其应用于报表填报端包括:步骤B1、基于报表展示端的步骤A1~步骤A6渲染为填报式报表进行展示;填报式报表需在步骤A1的基础上配置填报的单元格,需要填充字段的单元格用备注配置表达式,其他与步骤A1一致,配置第二Excel模板并化为对应元数据;步骤B2、基于填报式报表的填报操作,得到填报数据;步骤B3、将填报数据换成web数据交互协议;步骤B4、将web数据交互协议转换成第二数据模板;
步骤B5、根据第二数据模板和步骤B1中转化的元数据,解析出所需的数据,将所述数据封装成第二javaBean对象;步骤B6、根据业务需求,使用第二javaBean对象。
[0007]进一步地,第一Excel模板和第二Excel模板中,需要填充的字段和需要填报字段的单元格备注均采用EL表达式;采用模版解析器将Excel模板转化为对应的元数据。
[0008]进一步地,在步骤A3中,通过后端查询Excel模板中需要填充字段的数据,包括数据库、RPC调用、HTTP调用的查询方式。
[0009]进一步地,在步骤A4中,采用自定义的计算框架,将元数据与第一javaBean通过java反射和递归算法生成第一数据模板,采用antler框架提供的API将动态元数据与第一数据模板适配,然后采用antler框架解析Excel公式将解析结果填充到第一数据模板中。
[0010]进一步地,在步骤A5中,填充完成的第一数据模板还可通过自定义的通用文件转换器转换成Excel文件,用于下载使用。
[0011]进一步地,在步骤B3中,前端协议解析器将填报式报表中的填报数据转换成web数据交互协议发送至后端web协议转换器。
[0012]进一步地,在步骤B4中,后端web协议转换器将web数据交互协议转成第二数据模板发送至自定义的计算框架。
[0013]进一步地,在步骤B5中,自定义的计算框架根据第二数据模板和填报式报表的第二Excel模板转化的元数据,再基于需要填充字段的单元格备注,通过antler框架和java反射方式和递归算法解析出所需的数据,将所述数据封装成第二javaBean对象。
[0014]进一步地,在步骤A2中,第一Excel模板转化为的元数据缓存到内存或存储到数据库中;在步骤B6中,第二javaBean对象存储到数据库中。
[0015]与现有技术相比,本专利技术具有以下有益效果:本专利技术通过配置Excel模板,以适用于任意格式的报表,满足不同报表的个性化需求。然后将Excel模板转换成前端底层的元数据,根据模板要求并结合业务封装成一个javaBean对象,再将元数据与javaBean对象结合,生成前端交互协议,前端根据协议呈现报表和数据,并可以用自定义的通用文件转换器下载任意报表;同时本专利技术能反向解析填报后的交互数据,再转换成JavaBean对象,实现业务操作,大大减少了定制化报表和数据填报的开发难度。
附图说明
[0016]图1为本专利技术应用于报表展示端的方法流程图。
[0017]图2为本专利技术应用于报表填报端的方法流程图。
具体实施方式
[0018]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进一步详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]本专利技术提供的一种基于Excel模版与前端交互的报表填报和展示方法,适用于复杂报表的展示、下载或填报,不必通过传统方式在前端写js脚本实现各种复杂的样式,也不必为每张报表单独写下载接口,仅仅通过简单的配置Excel模板,包含各类样式(字体样式、大小、背景色等等)、以及单元格合并、甚至支持配置Excel公式等等,再通过一个封装javaBean对象,即可实现大大减轻后端和前端的工作量。对于数据展示端,可以做到后端公式计算后由前端直接渲染即可;对于数据填报端,公式由前端实时计算,也就是边填边算,增加用户填报数据的友好度,让用户更直观的感受到实时填报后的结算结果。
[0020]如图1所示,本专利技术应用于报表展示端包括:步骤A1、配置非填报式报表对应的第一Excel模板,包括但不限于需要填充的字段、Excel公式、样式和单元格合并。
[0021]在步骤A1中,配置的第一Excel模板中,需要填充的字段用EL表达式,例如${pruduct.name}, ${pruduct.nameList[1].title},同时可配置Excel公式,然后配置样式(背景色、字体大小等等)、设置单元格合并等。
[0022]步骤A2、将第一Excel模板转化为元数据。
[0023]在步骤A2中,采用模版解析器将第一Excel模板转化为对应的元数据,将转化的元数据缓存到内存或存储到数据库。
[0024]步骤A3、基于业务所需,查询第一Excel模板中需要填充字段的数据,将需要填充字段的数据封装成第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Excel模版与前端交互的报表填报和展示方法,其特征在于,其应用于报表展示端包括:步骤A1、配置非填报式报表对应的第一Excel模板,包括需要填充的字段、Excel公式、样式和单元格合并;步骤A2、将第一Excel模板转化为元数据;步骤A3、基于业务所需,查询第一Excel模板中需要填充字段的数据,将需要填充字段的数据封装成第一javaBean对象;步骤A4、将所述元数据与第一javaBean对象结合生成第一数据模板,然后解析第一Excel模板中的Excel公式,将解析结果填充到第一数据模板中,并对动态元数据与第一模板进行适配,还可以根据数据来元适配合并第一数据模板的单元格;步骤A5、根据业务需求,将填充完成的第一数据模板转换成与前端的交互协议;步骤A6、解析与前端的交互协议,然后渲染为非填报式报表进行展示。2.根据权利要求1所述的一种基于Excel模版与前端交互的报表填报和展示方法,其特征在于,其应用于报表填报端包括:步骤B1、基于报表展示端的步骤A1~步骤A6渲染为填报式报表进行展示;在步骤A1的基础上配置填报单元格,需要填充字段的填报单元格用备注配置表达式,配置第二Excel模板并化为对应元数据;步骤B2、基于填报式报表的填报操作,得到填报数据;步骤B3、将填报数据换成web数据交互协议;步骤B4、将web数据交互协议转换成第二数据模板;步骤B5、根据第二数据模板和步骤B1中转化的元数据,解析出所需的数据,将所述数据封装成第二javaBean对象;步骤B6、根据业务需求,使用第二javaBean对象。3.根据权利要求2所述的一种基于Excel模版与前端交互的报表填报和展示方法,其特征在于,第一Excel模板和第二Excel模板中,需要填充的字段和需要填报的字段的单元格备注均采用同样的EL表达式;采用模版解析器将第一Excel模板和第二Excel模板转化为对应的元数据。4.根据权利要求2...

【专利技术属性】
技术研发人员:毛江易小刚
申请(专利权)人:云筑信息科技成都有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1