System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 报表单元格数据格式转换方法及系统技术方案_技高网

报表单元格数据格式转换方法及系统技术方案

技术编号:40223787 阅读:7 留言:0更新日期:2024-02-02 22:28
本发明专利技术公开了一种报表单元格数据格式转换方法及系统,所述方法包括:查询数据后,创建单元格值对象,并准备接收查询的赋值;将原有的渲染对象和所述单元格值对象合并为新的单元格值对象;将所述新的单元格值对象按业务进行分类,并根据业务报表进行抽象;基于查询的数据,对新的单元格值对象基本属性赋值,并根据业务报表,对相应业务子对象属性进行赋值;对象赋值后,需要处理相关业务,业务处理完成后,先对对象的属性进行算法逻辑处理,再进行序列化,保证数据与之前序列化数据结构一致。通过本公开的处理方案,可以提高兼容性,减少资源消耗,同时提高并发数,减少传输的数据量。

【技术实现步骤摘要】

本专利技术涉及报表统计,特别是涉及一种报表单元格数据格式转换方法及系统


技术介绍

1、在企业互联网开发过程中,每个业务模块都需要开发各自的业务报表。所以产品部提出,需要对所有微服务的报表设计一致性,风格统一,因此需要统一开发各种报表的开发工具、服务和报表展现组件。

2、报表模型用户可以扩展列,可以设置单元格数据格式、样式和条件格式等。由于先实现了报表的展现,然后实现报表的导出和打印,所以样式、条件格式等由之前的前端实现,移植到后端实现,保证产品的一致性,但单元格的数据格式已经定义好,所以重构时,为了保证查询的稳定性,开发又创建了一套对象,转换时,先把数据对象对新对象赋值,然后处理完成后,再赋值回单元格对象。这种设计实现,在小数据量查询过程中,没有出现效率问题,而且行业中大部分报表都是这样设计。但在高并发或大数据量导出的情况下,对资源的消耗比较大,就会有明显的效率问题。


技术实现思路

1、有鉴于此,本公开实施例提供一种报表单元格数据格式转换方法,至少部分解决现有技术中存在的问题。

2、第一方面,本公开实施例提供了一种报表单元格数据格式转换方法,所述方法包括以下步骤:

3、查询数据后,创建单元格值对象,准备接收查询的赋值;

4、将原有的渲染对象和所述单元格值对象合并为新的单元格值对象;

5、将所述新的单元格值对象按业务进行分类,并根据业务报表进行抽象;

6、基于查询的数据,对新的单元格值对象基本属性赋值,并根据业务报表,对相应业务子对象属性进行赋值;

7、对象赋值后,需要处理相关业务,业务处理完成后,先对对象的属性进行算法逻辑处理,再进行序列化,保证数据与之前序列化数据结构一致;

8、所述相关业务包含:精度处理、条件格式处理、样式处理中的至少一项。

9、根据本公开实施例的一种具体实现方式,所述方法还包括:

10、查询、打印和文件导出过程中使用所述单元格值对象;

11、对不同的业务报表,创建不同的业务子对象。

12、根据本公开实施例的一种具体实现方式,所述将原有的渲染对象和所述单元格值对象合并为新的单元格值对象,还包括以下步骤:

13、合并对象属性,剔除预设的不需要的属性;所述不需要的属性,包含:单元格列宽、公式、单元格字体颜色、字体是否加粗、索引(index)、单元格是否被合并(merged)、合并单元格打印时是否需要计算高度、单元格前缀中的至少一项;

14、将所述新的单元格值对象中的原有设计属性转换为方法;

15、对象合并后,删除预设的没用的构造函数;所述没用的构造函数,包含:cellinfo(booleanle,integerlv)、cellinfo(integerlv,string v,string code,stringshowcode)中的至少一项。

16、根据本公开实施例的一种具体实现方式,抽象的业务子对象包括:自由报表子对象、导出打印子对象、聚合子对象和树形子对象。

17、第二方面,本公开实施例提供了一种报表单元格数据格式转换系统,所述系统包括:

18、子对象创建模块,被配置用于查询数据后,创建单元格值对象,准备接收查询的赋值;

19、合并模块,被配置用于将原有的渲染对象和所述单元格值对象合并为新的单元格值对象;

20、抽象模块,被配置用于将所述新的单元格值对象按业务进行分类,并根据业务报表进行抽象;

21、赋值模块,被配置用于基于查询的数据,对新的单元格值对象基本属性赋值,并根据业务报表,对相应业务子对象属性进行赋值;

22、序列化模块,被配置用于对象赋值后,需要处理相关业务,业务处理完成后,先对对象的属性进行算法逻辑处理,再进行序列化,保证数据与之前序列化数据结构一致;

23、所述相关业务包含:精度处理、条件格式处理、样式处理中的至少一项。

24、根据本公开实施例的一种具体实现方式,所述系统还包括:

25、删除模块,被配置用于合并对象属性,剔除预设的不需要的属性;所述不需要的属性,包含:单元格列宽、公式、单元格字体颜色、字体是否加粗、索引(index)、单元格是否被合并(merged)、合并单元格打印时是否需要计算高度、单元格前缀中的至少一项;

26、将所述新的单元格值对象中的原有设计属性转换为方法;以及,

27、对象合并后,删除预设的没用的构造函数;所述没用的构造函数,包含:cellinfo(booleanle,integerlv)、cellinfo(integerlv,string v,string code,stringshowcode)中的至少一项。

28、第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:

29、至少一个处理器;以及,

30、与所述至少一个处理器通信连接的存储器;其中,

31、所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器前述第一方面或第一方面的任一实现方式中的任一项所述的报表单元格数据格式转换方法。

32、第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行前述第一方面或第一方面的任一实现方式中的报表单元格数据格式转换方法。

33、第五方面,本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的报表单元格数据格式转换方法。

34、本公开实施例中的报表单元格数据格式转换方法,通过该方法能够很好地解决用户需求。此专利技术技术装置还具有很好的兼容性,可以通过序列化适配前端输出,在报表渲染和输出过程中,只有一个单元格值对象,资源消耗比之前减少了一半不止;同时并发数也明显提高,传输的数据量也明显减少。由于本专利技术技术按业务对单元格值对象分类和裁剪,当导出数据量特别大时,服务器瞬间内存需要保证。

本文档来自技高网...

【技术保护点】

1.一种报表单元格数据格式转换方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的报表单元格数据格式转换方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的报表单元格数据格式转换方法,其特征在于,所述将原有的渲染对象和所述单元格值对象合并为新的单元格值对象,还包括以下步骤:

4.根据权利要求1所述的报表单元格数据格式转换方法,其特征在于,抽象的业务子对象包括:自由报表子对象、导出打印子对象、聚合子对象和树形子对象。

5.一种报表单元格数据格式转换系统,其特征在于,所述系统包括:

6.根据权利要求5所述的报表单元格数据格式转换系统,其特征在于,所述系统还包括:

7.一种电子设备,其特征在于,该电子设备包括:

8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行如权利要求1至4中的任一项所述的报表单元格数据格式转换方法。

【技术特征摘要】

1.一种报表单元格数据格式转换方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的报表单元格数据格式转换方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的报表单元格数据格式转换方法,其特征在于,所述将原有的渲染对象和所述单元格值对象合并为新的单元格值对象,还包括以下步骤:

4.根据权利要求1所述的报表单元格数据格式转换方法,其特征在于,抽象的业务子对象包括:自由报表子对象、导出打印子对象、聚合子对象和树...

【专利技术属性】
技术研发人员:樊进忠阳雄李国楠
申请(专利权)人:用友网络科技股份有限公司
类型:发明
国别省市:

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

1