一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种Excel报表导出方法、装置和存储介质与流程

2022-03-23 03:53:03 来源:中国专利 TAG:

一种excel报表导出方法、装置和存储介质
技术领域
1.本发明涉及报表导出技术领域,尤其是指一种excel报表导出方法、装置和存储介质。


背景技术:

2.现在大部分公司内部都部署了自动报表平台,通过该自动报表平台可以提供高效的数据展示、数据可视化功能。
3.如果涉及到对外输出的场景,默认的excel模板输出报表仅能做到对输出报表的字体、表头颜色等简单的格式进行设置,基本上很难满足业务的分析和视图需要,对于其它的一些格式,例如行颜色、图表、行折叠、公式化计算等功能都不能得到很好地支持,不能实现自动化报表的格式自定义。


技术实现要素:

4.为了解决上述技术问题,本发明提供了一种excel报表导出方法,可以实现自动化报表的格式自定义。
5.为实现上述目的,本技术提出第一技术方案:
6.一种excel报表导出方法,包括以下步骤:
7.s1,接收用户根据自己的需求自定义的excel模板格式;
8.s2,提取底层数据,并将底层数据存储到excel模板中的数据表格;
9.s3,将excel模板中数据表格的数据通过函数映射到excel模板中的展示表格;
10.其中,所述展示表格是带有用户自定义格式的表格。
11.在本发明的一个实施例中,所述excel模板包括:
12.所述数据表格,用于存储所述展示表格的原始数据;
13.所述展示表格,用于展示报表,所述报表包括数据图表和用户选择的数据,所述数据图表和用户选择的数据带有用户自定义的格式。
14.在本发明的一个实施例中,所述提取底层数据,将底层数据存储到excel模板中的数据表格,包括:
15.通过key-value配置数据表格的名称,使得数据表格的名称与底层数据的名称相对应;
16.将底层数据通过数据写入方式存储到与底层数据的名称相对应的数据表格中。
17.在本发明的一个实施例中,所述将excel模板中数据表格的数据通过函数映射到excel模板中的展示表格,包括:
18.遍历所述展示表格的每个单元格并激活每个单元格的函数;
19.将所述数据表格的数据通过vlookup函数映射到所述展示表格。
20.在本发明的一个实施例中,所述遍历所述展示表格的每个单元格并激活每个单元格的函数,具体包括:
21.通过org.apache.poi底层包获取所述展示表格的单元格的指针;
22.从首个单元格开始,依次遍历所述展示表格的每个单元格。
23.在本发明的一个实施例中,所述从首个单元格开始,依次遍历所述展示表格的每个单元格,具体包括:
24.判断遍历到的每个单元格是否是空单元格,若遍历到的单元格不是空单元格,则判断遍历到的单元格是否存在函数;若遍历到的单元格是空单元格,则遍历下一个单元格;
25.若遍历到的单元格存在函数,则重新激活该单元格的函数;若遍历到的单元格不存在函数,则遍历下一个单元格。
26.在本发明的一个实施例中,所述底层数据是csv文件所保存的数据。
27.为实现上述目的,本技术还提出第二技术方案:
28.一种excel报表导出装置,所述装置包括:
29.格式定义模块,用于自定义展示表格的格式;
30.数据导入模块,用于将底层数据提取到数据表格中;
31.函数配置模块,用于配置数据表格与展示表格中数据的映射关系。
32.在本发明的一个实施例中,所述装置还包括:
33.指针获取模块,用于获取展示表格的单元格指针;
34.单元格遍历模块,用于遍历展示表格的所有单元格;
35.函数激活模块,用于重新激活展示表格中所有单元格的函数。
36.为实现上述目的,本技术提出第三技术方案:
37.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行所述方法的步骤。
38.本发明的上述技术方案相比现有技术具有以下优点:
39.本发明所述的一种excel报表导出方法、装置和存储介质,当报表的数据有更新时,用户要看新数据的报表,那么用户执行一遍代码,代码会读取新的底层数据,将新的底层数据更新到数据表格中,然后代码会自动激活展示表格中的每个单元格的函数,重新建立展示表格与数据表格的映射关系,展示表格里的数据便会自动更新,在用户已自定义excel模板格式的前提下,展示表格中自动更新后的数据便会带有用户以自定义的格式,同时实现了自动化报表与自定义格式的功能。
附图说明
40.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
41.图1是本发明的excel报表导出方法的第一方法流程图;
42.图2是本发明的excel报表导出方法的第二方法流程图;
43.图3是本发明的excel报表导出装置的装置结构图。
具体实施方式
44.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
45.实施例一:
46.参照图1所示,图1为本发明的excel报表导出方法的第一方法流程图。
47.本实施例的excel报表导出方法,包括以下步骤:
48.s1,接收用户根据自己的需求自定义的excel模板格式;
49.在涉及到对外输出报表的场景的时候,一般默认的excel模板都是固定的,且固定excel模板输出的报表仅能对输出报表的字体、表头颜色等简单的格式进行设置,基本上很难满足业务的分析和视图需要,对于其它的一些格式,例如行颜色、图表、行折叠、公式化计算等功能都不能得到很好地支持,不能实现自动化报表的格式自定义。因此,本发明提出了一种excel报表导出方法,用户通过该方法可以根据自己的需求来自定义报表模板的格式,在接收到用户自定义的excel模板格式后,当用户组要更新报表数据的时候,不仅可以自动化导出报表,还可以保留用户自定义格式的报表,这样输出报表就同时实现了自动化报表与格式自定义的功能。例如用户在用此模板制作报表后,当报表的数据有更新时,用户要看新数据的报表,那么用户执行一遍代码,代码会读取新的底层数据,将新的底层数据更新到数据表格中,然后代码会自动激活展示表格中的每个单元格的函数,重新建立展示表格与数据表格的映射关系,展示表格里的数据便会自动更新,在用户已自定义excel模板格式的前提下,展示表格中自动更新后的数据便会带有用户以自定义的格式,同时实现了自动化报表与自定义格式的功能。
50.s2,提取底层数据,并将底层数据存储到excel模板中的数据表格;
51.底层数据指的是数据报表最初始的数据,用户需要根据自己的需求来将这些最初始的数据最终导成格式化的报表。在导出报表前,首先要确定底层数据,本发明对底层的数据无任何限制,任何存储软件导出的csv文件均可使用。因此,相当于是用户将csv文件最终导出到报表,首先要将csv文件的数据内容进行提取,然后将csv文件的数据内容存储到excel模板中的数据表格中。
52.s3,将excel模板中数据表格的数据通过函数映射到excel模板中的展示表格;
53.其中,展示表格是带有用户自定义格式的表格。
54.在将底层数据存储到数据表格中后,需要将数据表格的数据通过函数映射到展示表格中,这样在展示表格中可以体现数据表格的原始数据,由于用户已经将excel模板中展示表格的格式设置完毕,所以当数据表格的数据通过函数映射到展示表格时,展示表格显示的则是带有格式的报表。数局表格与展示表格实现了前后端分离,前端是展示表格,后端是数据表格及底层数据,通过前后端分离,数据表格可以实现报表的离线报表功能,csv文件的数据内容都会存储在数据表格中,因此报表可以实现离线转发,不受限于网络。此外,在数据表格中可以保留原始数据,以供用户根据自己的需求随时查看原始数据。
55.在其中一个实施方式中,excel模板包括:
56.数据表格,用于存储展示表格的原始数据;
57.数据表格存储的是从csv文件中提取的数据,作为展示表格的原始数据,保存在excel中的数据表格可以实现报表的离线报表功能,csv文件的数据内容都会存储在数据表格中,因此报表可以实现离线转发,不受限于网络。此外,在数据表格中可以保留原始数据,以供用户进行随时查看原始数据。
58.展示表格,用于展示报表,报表包括数据图表和用户选择的数据,数据图表和用户选择的数据带有用户自定义的格式。
59.展示表格所展示的报表包括两部分,一部分是数据图表,一部分是用户选择的数据。数据图表是通过用户选择的数据所生成的图表;用户选择的数据是从数据表格的原始数据中映射到展示表格的数据,这是用户根据自己的需求所选择的需要查看的数据。当数据表格的数据映射到展示表格时,展示表格中的数据图表和用户选择的数据便可以显示用户在excel模板的展示表格中自定义的格式。数据表格和展示表格相当于是在excel界面下的两个sheet,如果存在多个数据表格,那就是多个sheet。
60.在其中一个实施方式中,提取底层数据,将底层数据存储到excel模板中的数据表格,包括:
61.通过key-value配置数据表格的名称,使得数据表格的名称与底层数据的名称相对应;
62.在导入数据的时候,有可能存在多个csv文件,每个csv文件,也就是每个底层数据,对应一个数据表格,所以每个csv文件的名称要与所对应的数据表格的名称相对应。key是关键字,对应数据表格的名称;value是值,对应数据表格的内容,通过key-value配置数据表格的名称,使得数据表格的名称与底层数据名称相对应,即每个csv文件的名称与数据表格的名称相对应,方便用户快速地定位到需要在展示表格中展示的数据表格。并且value将底层数据的内容存储到与key相对应的数据表格中。
63.将底层数据通过数据写入方式存储到与底层数据的名称相对应的数据表格中。
64.每个底层数据的名称与数据表格的名称相对应,每个底层数据的内容通过数据写入方式存储到与之名称相对应的数据表格中,value可以实现这个功能,使得底层数据存储到与其相对应名称的数据表格中。
65.在其中一个实施方式中,将excel模板中数据表格的数据通过函数映射到excel模板中的展示表格,包括:
66.遍历展示表格的每个单元格并激活每个单元格的函数;
67.每个单元格中的数据都是通过函数将数据表格中的数据映射过来的,在进行数据更新的时候,如果这个excel通过别的接口处理过,那么这个excel的单元格在打开的时候是不会进行任何更新的,因此即使每个单元格配置了函数,这个函数也是不生效的,所以要重新激活展示表格里面所有的函数,使得更新的数据通过函数重新映射到展示表格里。
68.将数据表格的数据通过vlookup函数映射到展示表格。
69.展示表格的数据是通过vlookup函数从数据表格映射过来的,在进行数据更新且将展示表格里所有单元格的vlookup函数进行激活后,展示表格里的数据会通过vlookup函数重新与数据表格里的数据建立映射关系,那么展示表格里用户选择的数据就会实现自动更新,并且展示表格中数据图表的相关信息也会进行更新,而且还会保持原有的格式。
70.在其中一个实施方式中,遍历展示表格的每个单元格并激活每个单元格的函数,
具体包括:
71.通过org.apache.poi底层包获取展示表格的单元格的指针;
72.要想对展示表格里所有单元格的函数进行重新激活,就要遍历整个展示表格里的单元格,因此要通过org.apache.poi底层包获取展示表格的单元格的指针,也就是获取展示表格的单元格的地址,以便于遍历整个展示表格里的单元格。
73.从首个单元格开始,依次遍历展示表格的每个单元格。
74.在获取到展示表格中单元格的指针后,从展示表格的第一个单元格开始,一直到展示表格的最后一个单元格,对这个范围内的单元格,即整个展示表格里的单元格进行遍历,并激活每个单元格,这样整个展示表格中单元格的函数都进行了重新激活,展示表格中的数据与数据表格里的数据重新建立映射关系,展示表格里用户选择的数据就会实现自动更新,并且展示表格中数据图表的相关信息也会进行更新,而且还会保持原有的格式。
75.在其中一个实施方式中,从首个单元格开始,依次遍历展示表格的每个单元格,具体包括:
76.判断遍历到的每个单元格是否是空单元格,若遍历到的单元格不是空单元格,则判断遍历到的单元格是否存在函数关系;若遍历到的单元格是空单元格,则遍历下一个单元格;
77.若遍历到的单元格存在函数,则重新激活该单元格的函数;若遍历到的单元格不存在函数,则遍历下一个单元格。
78.在遍历单元格的时候,要区分空单元格和是否有函数的单元格,如果遍历到的单元格是空单元格或者是该单元格不存在函数,则可以直接跳过该单元格,不用进行单元格函数的更新;如果遍历到的单元格存在函数,则需要对该存在函数的单元格进行函数激活,那么数据表格中对应的数据便可以通过函数映射过来,在展示表格中展示相应的数据。
79.在其中一个实施方式中,底层数据是csv文件所保存的数据。
80.本发明对底层的数据无任何限制,任何存储软件导出的csv文件均可使用,这样只要是csv文件保存的数据均可以通过该方法展示到展示表格的报表。
81.实施例二:
82.参照图2所示,图2为本发明的excel报表导出方法的第二方法流程图。
83.本实施例的excel报表导出方法,包括以下步骤:
84.s10,接收用户根据自己的需求自定义的excel模板格式;
85.每个用户自己的报表都有其习惯的格式,用户通过该方法根据自己的需求习惯来自定义报表模板的格式,以实现格式的自定义的功能,非常方便的满足业务人员对自动化报表的格式要求。
86.s20,通过key-value配置数据表格的名称,使得数据表格的名称与底层数据的名称相对应;
87.通过key-value配置数据表格的名称,使得数据表格的名称与底层数据名称相对应,即每个csv文件的名称与数据表格的名称相对应,方便用户快速地定位到需要在展示表格中展示的数据表格。
88.s30,将底层数据通过数据写入方式存储到与底层数据的名称相对应的数据表格中;
89.每个底层数据的名称与数据表格的名称相对应,每个底层数据的内容通过数据写入方式存储到与之名称相对应的数据表格中。
90.s40,通过org.apache.poi底层包获取展示表格的单元格的指针;
91.通过org.apache.poi底层包获取展示表格的单元格的指针,也就是获取展示表格的单元格的地址,以便于遍历整个展示表格里的单元格。
92.s50,判断遍历到的每个单元格是否是空单元格,若遍历到的单元格不是空单元格,则判断遍历到的单元格是否存在函数;若遍历到的单元格是空单元格,则遍历下一个单元格;
93.在遍历单元格的时候,要区分空单元格和是否有函数的单元格,如果遍历到的单元格不是空单元格,则判断遍历到的单元格是否存在函数,如果遍历到的单元格是空单元格,则遍历下一个单元格。
94.s60,若遍历到的单元格存在函数,则重新激活该单元格的函数;若遍历到的单元格不存在函数,则遍历下一个单元格;
95.如果遍历到的单元格不存在函数,则可以直接跳过该单元格,不用进行单元格函数的更新;如果遍历到的单元格存在函数,则需要对该存在函数的单元格进行函数激活,那么数据表格中对应的数据便可以通过函数映射过来,在展示表格中展示相应的数据。
96.s70,将数据表格的数据通过vlookup函数映射到展示表格。
97.展示表格的数据是通过vlookup函数从数据表格映射过来的,在进行数据更新且将展示表格里所有单元格的vlookup函数进行激活后,展示表格里的数据会通过vlookup函数重新与数据表格里的数据建立映射关系,那么展示表格里用户选择的数据就会实现自动更新,并且展示表格中数据图表的相关信息也会进行更新,而且还会保持原有的格式。
98.实施例三:
99.参照图3所示,图3为excel报表导出装置的装置结构图。
100.本实施例的excel报表导出装置,包括:
101.格式定义模块,用于自定义展示表格的格式;
102.每个用户自己的报表都有其习惯的格式,用户通过格式定义模块根据自己的需求习惯来自定义报表模板的格式,以实现格式的自定义的功能,非常方便的满足业务人员对自动化报表的格式要求。
103.数据导入模块,用于将底层数据提取到数据表格中;
104.每个底层数据的名称与数据表格的名称相对应,每个底层数据的内容通过数据导入模块存储到与之名称相对应的数据表格中。
105.函数配置模块,用于配置数据表格与展示表格中数据的映射关系。
106.展示表格的数据是通过vlookup函数从数据表格映射过来的,函数配置模块,用于配置数据表格与展示表格中数据的映射关系。
107.在其中一个实施方式中,装置还包括:
108.指针获取模块,用于获取展示表格的单元格指针;
109.通过指针获取模块获取展示表格的单元格的指针,也就是获取展示表格的单元格的地址,以便于遍历整个展示表格里的单元格。
110.单元格遍历模块,用于遍历展示表格的所有单元格;
111.单元格遍历模块,用于遍历展示表格的所有单元格,在遍历单元格的时候,要区分空单元格和是否有函数的单元格,如果遍历到的单元格是空单元格,则判断遍历到的单元格是否存在函数,如果遍历到的单元格是空单元格,则遍历下一个单元格。
112.函数激活模块,用于重新激活展示表格中所有单元格的函数。
113.如果遍历到的单元格不存在函数,则可以直接跳过该单元格,不用进行单元格函数的更新;如果遍历到的单元格存在函数,则需要对该存在函数的单元格进行函数激活,函数激活模块,用于重新激活展示表格中所有单元格的函数。
114.实施例四:
115.本实施例提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器执行上述实施例的excel报表导出方法的步骤。
116.在执行程序代码进行数据更新时,代码首先读取csv文件中的底层数据,将底层数据存储到excel模板的数据表格中,然后代码自动更新展示表格中的函数,展示表格中的函数自动更新后,展示表格里的数据会与数据表格重新建立映射关系,展示表格中的数据便会进行更新,由于用户已经设置好excel模板的格式,那么展示表格中的数据更新后便会带有用户自定义的格式,同时实现了自动化报表与自定义格式的功能。
117.本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
118.本发明实施例中是参照根据本发明实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
119.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
120.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
121.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还
可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献