Excel报表文件生成方法、装置、计算机设备及存储介质与流程

文档序号:16468683发布日期:2019-01-02 22:56阅读:174来源:国知局
Excel报表文件生成方法、装置、计算机设备及存储介质与流程

本申请涉及数据处理技术领域,尤其涉及一种excel报表文件生成方法、装置、计算机设备及存储介质。



背景技术:

当业务系统中涉及多个模块,多个模块对应多个业务数据。若需要导出多个业务数据,现有的方案在多个业务数据导出时是分开导出的,不利于业务用户级领导查看及审阅,多个业务数据的关联性无法在一张报表中体现,后续只能靠人工手工归纳整理,费时费力,造成工作低效。



技术实现要素:

本申请实施例提供一种excel报表文件生成方法、装置、计算机设备及存储介质,可提高处理数据的效率。

第一方面,本申请实施例提供了一种excel报表文件生成方法,该方法包括:

获取待展示数据;将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象至少包括第一类数据对象和第二类数据对象,并设置所述第一类数据对象和所述第二类数据对象的对应关联关系;根据所述第一类数据对象和所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板,其中,所述excel页面模板与封装的数据对象类别对应且数量相同;将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据;根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。

第二方面,本申请实施例提供了一种excel报表文件生成装置,该装置包括用于执行上述第一方面所述的方法对应的单元。

第三方面,本申请实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;

所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。

第四方面,本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。

本申请实施例通过将待展示数据封装成不同的数据对象并设置不同数据对象之间的对应关联关系,根据封装后的不同数据对象绘制excel页面模板,将封装后的不同数据对象所对应的数据填充到对应的excel页面模板中以生成对应的sheet页数据,并根据不同数据对象之间的对应关联关系设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。本申请实施例将待展示数据中有关联的数据自动生成excel报表文件并保持对应的关联关系,无需手动进行关联和整理,提高了处理数据的效率。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的excel报表文件生成方法的流程示意图;

图2是本申请实施例提供的excel报表文件生成方法的子流程示意图;

图3是本申请实施例提供的excel报表文件生成方法的子流程示意图;

图4是本申请实施例提供的excel报表文件生成方法的子流程示意图;

图5是本申请另一实施例提供的excel报表文件生成方法的流程示意图;

图6是本申请另一实施例提供的excel报表文件生成方法的流程示意图;

图7是本申请实施例提供的excel报表文件的示意图;

图8是本申请实施例提供的excel报表文件生成装置的示意性框图;

图9是本申请实施例提供的绘制单元的示意性框图;

图10是本申请实施例提供的填充单元的示意性框图;

图11是本申请另一实施例提供的excel报表文件生成装置的示意性框图;

图12是本申请又一实施例提供的excel报表文件生成装置的示意性框图;

图13是本申请实施例提供的一种计算机设备的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1是本申请实施例提供的excel报表文件生成方法的流程示意图。如图1所示,该方法包括s101-s105。

s101,获取待展示数据。

获取待展示数据包括:从数据库中获取待展示数据,或者从预设文件中获取待展示数据。其中,从数据库中获取待展示数据,包括:连接数据库,如通过orm(objectrelationalmapping)框架连接数据库;从数据库中读取待展示数据。如一个集团下面包括有各个专业公司,各个专业公司分别对应有不同的业务数据。业务数据包括如经营指标、业务点评(对该业务的评价,如该业务是否发展较好,哪些方面存在不足等)等数据。对于每个专业公司,还对应有统筹工作数据,统筹工作数据包括该阶段的工作总结以及下一个阶段的工作计划等数据。对于每个专业公司的经营指标、业务点评、统筹工作数据等都放在数据库不同的数据表中。该集团下还设置有多个处室,每个处室管理一个或者多个专业公司。为了方便理解和描述,以下的示例中都以该应用场景为例。对应地,从数据库中获取待展示数据,包括:从数据库的对应数据表中获取各个专业的业务数据、统筹工作数据、处室相关数据。将原本处于多个数据表中的散乱的待展示数据集中汇总起来,方便进一步的处理。需要指出的是,待展示数据中各种数据之间有一定的关联关系。

s102,将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象至少包括第一类数据对象和第二类数据对象,并设置所述第一类数据对象和所述第二类数据对象的对应关联关系。

根据具体业务场景将待展示数据进行分类,再按照分类出的类别将待展示数据封装成不同的数据对象,如根据具体业务场景中待展示数据之间的对应关联关系将待展示数据进行分类等。封装后的数据对象至少包括第一类数据对象和第二类数据对象。并设置第一类数据对象和第二类数据对象的对应关联关系,如将其中一类数据的数据对象设置为另一类数据对象的属性值/值等。如根据具体业务场景将第一类数据对象设置为第二类数据对象的属性值/值;或者将第二类数据对象设置为第一类数据对象的属性值/值。

在上述提到的应用场景中,如可按照处室和专业公司将待展示数据分为不同类别。如将处室相关数据封装成一个数据对象,该数据对象包括数据对象名称、多个不同的处室信息等,多个不同的处室信息具体包括多个处室的名称、多个处室的编号、每个处室所管理的专业公司等数据。将处室相关数据封装后的数据对象称为第一类数据对象。将每个专业公司的经营指标、业务点评、统筹工作数据等数据封装成一个数据对象,该数据对象包括:数据对象名称(如将专业公司名称作为数据对象名称)、专业公司代码编号和专业公司所对应的数据,专业公司所对应的数据包括经营指标、业务点评、统筹工作数据等。将各个专业公司封装成各个不同的数据对象,将各个专业公司所对应的数据对象称为第二类数据对象。在其他实施例中,也可以将所有专业公司的统筹工作数据从每个专业公司所对应的数据中分离出来,作为一个单独的类别。将所有专业公司所对应的统筹工作数据单独封装为一个数据对象,该数据对象的数据包括每个专业公司代码编号、每个专业公司的统筹工作数据等。设置第一类数据对象和第二类数据对象的对应关联关系,包括:将第一类数据对象的属性值/值设置为第二类数据对象,即将第二类数据对象设置为第一类数据对象的属性值/值。如将各个不同处室所对应的属性值/值设置为专业公司所对应的数据对象。需要提出的是,第一类数据对象和第二类数据对象之间原本就有一定的关联关系。

s103,根据所述第一类数据对象和所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板。其中,所述excel页面模板与封装的数据对象类别对应且数量相同。

其中,调用excel操作工具包括调用apachepoi的excel操作工具。apachepoi(poorobfuscationimplementation,简洁版的模糊实现)是用java编写的免费开源的跨平台的javaapi,apachepoi提供api给java程式对microsoftoffice格式档案读和写的功能。

另外,创建excel文件后,需要创建excel文件的sheet页。在一些实施例中,该excel文件的sheet页的数量与封装后的数据对象的总数量相同,该数据对象的总数量包括第一类数据对象的数量和第二类数据对象的数量。若该数据对象的总数量大于页面模板的总数量,那么其中的一个或者多个页面模板可能会被使用多次。若页面模板被填充数据,可以理解为,在每一个sheet页中展示每一个数据对象所对应的数据。在其他一些实施例中,可以将excel文件的sheet页的数量设置为封装的数据对象类别的数量,如封装的数据对象类别为两类,那么将excel文件的sheet页的数量设置为两页,可以理解为,其中一类数据对象所对应的页面模板在其中一个sheet页中展示,另一类数据对象所对应的页面模板在另外一个sheet页中展示。若页面模板被填充数据,可以理解为,在每一个sheet页中展示每一类数据对象所对应的数据。若其中某一类数据对象对应有多个数据对象,那么该sheet中将展示该类数据对象中的所有数据对象所对应的数据。在其他一些实施例中,所述excel文件的sheet页的数量可以设置为一页,那么可以理解为,所有的页面模板都展示在该sheet页中。若页面模板被填充数据,可以理解为,在该sheet页中展示所有类的数据对象所对应的数据,在另外一些实施例中,所述excel文件的sheet页的数量可以设置为默认的数量或者预设的数量。

在一实施例中,如图2所示,步骤s103包括s201-s203。

s201,通过调用excel操作工具,创建excel报表文件,并创建所述excel报表文件的sheet页。其中,所述sheet页的数量与封装后的数据对象的总数量相同,其中,所述数据对象的总数量包括所述第一类数据对象的数量和所述第二类数据对象的数量。

其中,excel操作工具为apachepoi的excel操作工具,apachepoi的excel操作工具提供了包括创建excel报表文件的功能、绘制excel表格、设置excel表格样式等的功能。通过调用apachepoi的excel操作工具,创建excel报表文件;获取封装后的数据对象的总数量,如封装后的第一类数据对象有1个,封装后的第二类数据对象有4个,那么封装后的数据对象的总数量则有5个;在该excel报表文件中创建与封装后的数据对象的总数量相同的sheet页,即创建5个sheet页。

s202,根据封装后的数据对象的类型绘制excel页面模板,所述excel页面模板与封装后的数据对象的类别对应且数量相同。

如封装后的数据对象的类型包括第一类数据对象和第二类数据对象,即两类,那么对应的excel页面模板分别包括第一类模板和第二类模板,即两个页面模板,且第一类数据对象与第一类模板相对应,第二类数据对象与第二类模板相对应。

在本实施例中,页面模板包括表格模板。如图3所示,根据封装后的数据对象的类型绘制excel页面模板,即步骤s202包括以下步骤s301-s304。

s301,绘制表格模板的边框、表头、表行、表列。

s302,根据封装后的数据对象确定表头所对应的需展示数据。

s303,根据所述表头所对应的需展示数据,设置对应表行或者表列需展示数据的对应参数。其中,若表头需展示的数据显示在列中,那么需设置表行需展示数据的对应参数;若表头需展示的数据显示在行中,那么需设置表列需展示数据的对应参数。

s304,根据对应参数从对应数据对象中确定所述参数所对应的具体值所占行数或者列数。其中,表行或者表列的数量与所述参数所对应的具体值所占行数或者列数有关。如表头需展示数据包括处室数据,如包括处室一、处室二、处室三,设置处室一、处室二、处室三对应表行或者表列需展示数据的参数为所述处室所对应的专业公司;根据处室所对应的专业公司从处室所对应的数据对象中确定每个处室所对应的专业公司的数量。其中,表行或者表列的数量与表头中包括的所有处室数据中,每个处室对应的专业公司的最大数量有关。如若处室信息中只包括了三个处室,处室一中包括了三个专业公司a、b、c,处室二中包括了四个专业公司d、e、f、g,处室三中包括了两个专业公司h、i,那么所有处室中对应的专业公司的最大数量为4,即表行或者表列的数量至少为4行。其中,表头所对应的处室数据和处室数据所对应的专业公司封装在处室相关数据所对应的数据对象中。在一些实施例中,为了展示的美观,可设置一定的空行或者空列。

s203,设置所述excel页面模板的样式。

如可以设置的样式包括:表格线的加粗、隐藏、数据的加粗显示等。

s104,将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据。

将该第一类数据对象所对应的数据填充到所对应的第一类模板中,将该第二类数据对象所对应的数据填充到所对应的第二类模板中,以生成所对应的sheet页数据。

在一实施例中,如图4所示,步骤s104包括以下步骤s401-s404。

s401,确定所述第一类数据对象和所述第二类数据对象所对应数据的数据类型和数据格式。具体地,根据设置的所有表行或者表列需展示数据的对应参数,从第一类数据对象或者第二类数据对象中确定所述参数所对应的具体值,确定具体值所对应的数据类型和数据格式。

s402,在对应页面模板填充数据的位置处设置与所对应数据相同的数据类型和数据格式。如第一类数据对象所对应的某一项数据的数据类型为浮点型,那么获取该项数据所对应的小数点位,并在页面模板对应填充该项数据的位置处(表行或者表列)设置与所对应数据相同的数据类型和数据格式,其中,数据类型包括浮点型,数据格式包括所占用小数点位。数据类型还可以包括其他的类型如整形等,数据格式还可以为其他的格式。如此,不必再人工重新设置sheet页每一项数据的数据类型和数据格式。加快了excel报表文件生成的速度。

s403,在对应页面模板填充数据的位置处填充对应数据,以生成对应的sheet页数据。

如在第一类模板中填充第一类数据对象所对应的数据,在第二类模板中填充第二类数据对象所对应的数据。若第一类数据对象只有一个,那么将该一个数据对象所对应的数据填充到第一类模板中的对应位置处,以生成该一个数据对象所对应的sheet页。具体地,在填充数据的位置处有需展示数据的对应参数,根据对应参数来确定填充的具体值。若第一类数据对象有多个,那么生成多个相同的第一类模板,在每一个第一类模板填充数据的位置处填充一个第一类数据对象所对应的数据,如此生成该第一类数据对象所对应的sheet页。按照同样的方法生成第二类数据对象所对应的sheet页。其中,若sheet页的数量与封装后的数据对象的总数量相同,那么意味着每一个sheet页中都有一个模板,每个模板中填充一个数据对象所对应的数据。在本实施例中,采用该种方式,即每一个sheet页中展示每一个数据对象所对应的数据。在其他实施例中,可采用其他的方式。

s404,根据所述第一类数据对象和所述第二类数据对象的名称为对应的sheet页命名。

如sheet页填充的是具体某个数据对象所对应的数据,那么就把该具体某个数据对象所对应的数据对象名称作为sheet页的名称,以为sheet命名。

需要注意的是,步骤s404与步骤s401-s403可以互换。即可以先为sheet命名,再为每个sheet页填充数据。

s205,根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。

具体地,步骤s205包括:从sheet页数据中确定产生所述第一类数据对象和所述第二类数据对象的对应关联关系所对应的数据项;在数据项所对应的单元格内设置超链接公式,以通过超链接公式来实现sheet页数据之间的对应关联关系,以生成excel报表文件。

如在设置对应关联关系时,将第一类数据对象的属性值设置为第二类数据对象,那么将第一类数据对象的属性值所对应的具体值作为产生关联关系所对应的数据项,从sheet页中查找第一类数据对象的属性值所对应的具体值,并确定该具体值所对应的数据项。如第一类数据对象处室相关数据的属性值设置为该处室下的专业公司,将专业公司的具体对象名称作为产生多个关联关系所对应的数据项。在数据项所对应的单元格内设置超链接公式,以通过超链接公式来实现sheet数据之间的对应关联关系。如通过超链接公式设置从某一个sheet页跳转到另一个sheet页中。其中,调用hyperlink函数,该函数的格式为:hyperlink(link_location,friendly_name)。其中:hyperlink为函数名,link_location为链接位置;friendly_name为显示文本。最后将设置有对应关联关系后的sheet页数据作为生成的excel报表文件。该实施例可以将所有的数据对象通过一个sheet页来进行整体展示,如在设置有超链接公式所对应的sheet页中进行整体展示,以方便领导进行查阅整体的数据。并通过设置对应关联关系,以通过一个sheet页的数据直接跳转到需要查看的另一个sheet页中,即通过跳转到另一个具体的数据对象所对应的sheet中,以查看该数据对象所对应的具体数据,方便快捷。

在其他实施例中,还可以将生成的excel报表文件进行导出。

在其他实施例中,若某一类数据对象有一个,另一类数据对象有多个,假设第一类数据对象有一个,第二类数据对象有多个,那么可将多个第二类数据对象进行排列,按照第二类数据对象的排列顺序进行处理,以加快处理的速度。具体地,请参看图5,图5是本申请另一实施例提供的一种excel报表文件生成方法的流程示意图,该方法实施例包括以下步骤s501-s506。该实施例与图1所示的实施例的主要区别在于:增加了步骤s503,以及s505、s506的区别。其他具体的内容请参看图1所示实施例中的描述。

s501,获取待展示数据。

s502,将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象至少包括一个第一类数据对象和多个第二类数据对象,并设置所述一个第一类数据对象和多个所述第二类数据对象的对应关联关系。

s503,将多个所述第二类数据对象按照预设规则进行排列并保存排列顺序。按照预设规则进行排列可以是按照设置对应关联关系时设置多个第二类数据对象的设置顺序进行排列。还可以是按照其他预设规则排列得到的排列顺序,如按照第二类数据对象的数据对象名称首字母等进行排列后得到的排列顺序。

s504,根据所述第一类数据对象和多个所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板,其中,所述excel页面模板与封装的数据对象类别对应且数量相同。

s505,将所述第一类数据对象所对应的数据填充到所述第一类数据对象所对应的页面模板中,将多个所述第二类数据对象所对应的数据按照所述排列顺序依次填充到所述第二类数据对象所对应的页面模板中,以生成对应的sheet页数据。可以理解地,按照所述排列顺序依次将多个所述第二类数据对象所对应的数据填充到所述第二类数据对象所对应的页面模板中,并按照排序顺序为填充后的sheet页命名。

s506,根据所述第一类数据对象和多个第二类数据对象的对应关联关系,按照所述排序顺序依次设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。

该实施例按照多个第二类数据对象的排列顺序将多个所述第二类数据对象所对应的数据填充到所述第二类数据对象所对应的页面模板中,并按照排列顺序设置对应的sheet页数据之间的对应关联关系,如此按照保存的排序顺序来进行填充数据和设置对应关联关系,不会容易出错,同时加快了处理数据的速度。

在一些实施例中,第一类数据对象和第二类数据对象包括或者也可以称为总数据对象和多个不同的分数据对象。如图6所示,图6是本申请实施例提供的excel报表文件生成方法的流程示意图,该方法实施例包括s601-s607。

s601,获取待展示数据。

s602,将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象包括总数据对象和多个不同的分数据对象,并设置所述总数据对象和多个不同的分数据对象的对应关联关系。

总数据对象和分数据对象的对应关联关系,如可以理解为,总数据对象所对应的数据是对分数据对象所对应数据的整体表达或者综合表达或者概括表达,以从宏观上可以得到分数据对象的某些特征。如在上文中提到的例子中,将处室相关数据封装后的数据对象称为总数据对象,将多个专业公司封装后的数据对象称为分数据对象。在其他实施例中,也可以将所有专业公司的统筹工作数据从每个专业公司所对应的数据中分离出来,作为一个单独的类别。将所有专业公司所对应的统筹工作数据单独封装为一个数据对象,该数据对象的数据包括每个专业公司代码编号、每个专业公司的统筹工作数据。设置总数据对象和分数据对象的对应关联关系,包括:将总数据对象的属性值/值设置为分数据对象。如将各个不同处室所对应的具体值设置为专业公司所对应的数据对象。

s603,将多个不同的分数据对象按照预设规则进行排列并保存排列顺序。其中,按照预设规则进行排列可以是按照设置对应关联关系时设置多个不同的分数据对象的设置顺序进行排列。还可以是按照其他预设规则排列得到的排列顺序,如按照多个不同的分数据对象的数据对象名称首字母等进行排列后得到的排列顺序。

s604,根据所述总数据对象和多个不同的分数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板,其中,所述excel页面模板包括目录页模板和内容页模板。

可以理解地,第一类模板和第二类模板包括目录页模板和内容页模板。在本实施例中,通过调用excel操作工具,创建excel报表文件,并创建所述excel报表文件的sheet页,所述sheet页的数量与封装后的数据对象的总数量相同,其中,所述数据对象的总数量包括所述第一类数据对象的数量和所述第二类数据对象的数量;根据封装后的数据对象的类型绘制excel页面模板,所述excel页面模板包括目录页模板和内容页模板,具体地,绘制目录页模板和内容页模板请参看图3实施例的描述;设置所述excel页面模板的样式。其中,调用excel操作工具包括调用apachepoi的excel操作工具。

s605,将所述总数据对象所对应的数据填充到目录页模板中以形成目录页数据,将多个不同的分数据对象所对应的数据按照分数据对象的排列顺序依次填充到内容页模板中,以形成多个内容页数据。

在本实施例中,获取所述总数据对象和所述多个不同的分数据对象所对应数据的数据类型和数据格式;在目录页模板和内容页模板对应填充数据的位置处设置与所对应数据相同的数据类型和数据格式,如在目录页模板填充数据的位置处设置与所述总数据对象所对应的数据相同的数据类型和数据格式,在内容页模板填充数据的位置处依次设置与多个不同的分数据对象所对应的数据相同的数据类型和数据格式,由于分数据对象的数量(分数据对象的数量有多个)超过了内容页模板的数量(内容页模板的数量为1),因此,在填充数据前,需要生成与分数据对象相同数量的内容页模板,以在每一个内容页模板中填充数据的位置处设置与需填充的每一个分数据对象所对应的数据相同的数据类型和数据格式;根据所述总数据对象,在目录页模板填充数据的位置处填充对应数据以生成目录页数据,根据多个不同的分数据对象,在多个内容页模板填充数据的位置处按照分数据对象的排列顺序依次填充多个不同的分数据对象所对应的数据以生成多个内容页数据;根据所述总数据对象的数据对象名称为目录页命名,根据所述多个不同的分数据对象的数据对象名称依次为每个内容页命名。

s606,按照总数据对象和多个不同的分数据对象的对应关联关系设置目录页数据和内容页数据的对应关联关系,以生成excel报表文件。

根据总数据对象和多个不同的分数据对象的对应关联关系,按照排序顺序依次设置目录页数据和内容页数据的对应关联关系。具体地,在目录页数据中依次设置与多个不同内容页数据的对应关联关系,将设置有对应关联关系的sheet数据作为生成的excel报表文件。

在其他实施例中,还可以将生成的excel报表文件进行导出。

如图7所示,是本申请实施例生成的excel报表文件的示意图。该excel报表文件包括目录页数据以及多个内容页数据。在目录页数据中展示总数据对象所对应的数据,在每个内容页数据中展示一个分数据对象所对应的数据。

在目录页中,包括了表头信息,即七个处室,分别为一室、二室、三室、......、七室。在一室中包括了三个专业公司a、b、c,在二室中包括了四个专业公司d、e、f、g,......,七室中包括了6个专业公司u、v、w、x、y、z。其中,目录页的表行的数量与表列需展示数据的对应参数所对应的具体值所占行数有关,如各个处室中具体值所占行数最大为6行,即目录页的表行的数据至少为6行。在其他实施例中,为了美观,可设置一定的空行。总数据对象所对应的数据对象名称为目录,对应地,目录页数据所对应的sheet页命名为目录。

在图7中,a、b、c、d、e、f、g、......等为分数据对象的对象名称。对应的,按照分数据对象的排列顺序分别为多个内容页数据所对应的sheet页命名,即多个内容页所对应的sheet命名为a、b、c、d、e、f、g、......。可以理解地,在填充数据时也是按照该排列顺序在多个内容页模板中填充对应的数据对象所对应的数据。如在该excel报表文件的第二个sheet中,存储的是专业公司a所对应的数据,在第三个sheet页中,存储的是专业公司b所对应的数据......,依此类推。可以理解地,多个不同的内容页使用的是同一个内容页模板。在目录页中设置与多个不同内容页的对应关联关系时,先确定产生对应关联关系的数据项,即数据项分别为目录页数据中的a、b、c、d、e、f、g、......等。在a、b、c、d、e、f、g、......等数据项所对应的单元格内设置超链接公式。对应地,按照a、b、c、d、e、f、g、......等的排列顺序设置各个不同分数据对象所对应的超链接公式。如在a所在的单元格内设置专业公司a所对应的超链接公式,点击a对应的数据项,即可进入到专业公司a所对应的内容页中。

图8是本申请实施例提供的excel报表文件生成装置的示意性框图。如图8所示,对应于以上excel报表文件生成方法,本申请还提供一种excel报表文件生成装置。该装置可以被配置于台式电脑、平板电脑、手提电脑等终端中。具体地,如图8所示,该装置80包括获取单元801、封装单元802、绘制单元803、填充单元804以及设置单元805。

获取单元801,用于获取待展示数据。

封装单元802,用于将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象至少包括第一类数据对象和第二类数据对象,并设置所述第一类数据对象和所述第二类数据对象的对应关联关系。其中,封装单元在用于设置所述第一类数据对象和所述第二类数据对象的对应关联关系时,具体用于将所述第一类数据对象设置为所述第二类数据对象的属性值或者值;或者将所述第二类数据对象设置为所述第一类数据对象的属性值或者值。

绘制单元803,用于根据所述第一类数据对象和所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板,其中,所述excel页面模板与封装的数据对象类别对应且数量相同。

在一实施例中,如图9所示,绘制单元803包括创建单元901、模板绘制单元902以及样式设置单元903。其中,创建单元901,用于通过调用excel操作工具,创建excel报表文件,并创建所述excel报表文件的sheet页,所述sheet页的数量与封装后的数据对象的总数量相同,其中,所述数据对象的总数量包括所述第一类数据对象的数量和所述第二类数据对象的数量。模板绘制单元902,用于根据封装后的数据对象的类型绘制excel页面模板,所述excel页面模板与封装后的数据对象的类别对应且数量相同。样式设置单元903,用于设置所述excel页面模板的样式。

在一实施例中,模板绘制单元902包括表格绘制单元、表头确定单元、参数设置单元以及行列确定单元。其中,行列确定单元,用于绘制表格模板的边框、表头、表行、表列。表头确定单元,用于根据封装后的数据对象确定表头所对应的需展示数据。参数设置单元,用于根据所述表头所对应的需展示数据,设置对应表行或者表列需展示数据的对应参数。行列确定单元,用于根据所述对应参数从对应数据对象中确定所述参数所对应的具体值所占行数或者列数。

填充单元804,用于将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据。

在一实施例中,如图10所示,填充单元804包括类型格式确定单元101、类型格式设置单元102、数据填充单元103以及命名单元104。其中,类型格式确定单元101,用于获取所述第一类数据对象和所述第二类数据对象所对应数据的数据类型和数据格式。类型格式设置单元102,用于在对应页面模板填充数据的位置处设置与所对应数据相同的数据类型和数据格式。数据填充单元103,用于在对应页面模板填充数据的位置处填充对应数据,以生成对应的sheet页数据。命名单元104,根据所述第一类数据对象和所述第二类数据对象的名称为对应的sheet页命名。

设置单元805,用于根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。

在一实施例中,设置单元805包括数据项确定单元以及超链接设置单元。其中,数据项确定单元,用于从sheet页数据中确定产生所述第一类数据对象和所述第二类数据对象的对应关联关系所对应的数据项。超链接设置单元,用于在数据项所对应的单元格内设置超链接公式,以通过超链接公式来实现sheet页数据之间的对应关联关系。

在其他实施例中,若某一类数据对象有一个,另一类数据对象有多个,假设第一类数据对象有一个,第二类数据对象有多个,那么可将多个第二类数据对象进行排列,按照第二类数据对象的排列顺序进行处理,以加快处理的速度。图11是本申请另一实施例提供的excel报表文件生成装置的示意性框图。如图11所示,该装置110包括获取单元111、封装单元112、排列单元113、绘制单元114、填充单元115以及设置单元116。该装置与图8所示实施例的区别在于:增加了排列单元113。

排列单元113,用于将多个所述第二类数据对象按照预设规则进行排列并保存排列顺序。按照预设规则进行排列可以是按照设置对应关联关系时设置多个第二类数据对象的设置顺序进行排列。还可以是按照其他预设规则排列得到的排列顺序,如按照第二类数据对象的数据对象名称首字母等进行排列后得到的排列顺序。

填充单元115,用于将所述第一类数据对象所对应的数据填充到所述第一类数据对象所对应的页面模板中,将多个所述第二类数据对象所对应的数据按照所述排列顺序依次填充到所述第二类数据对象所对应的页面模板中,以生成对应的sheet页数据。

设置单元116,用于根据所述第一类数据对象和多个第二类数据对象的对应关联关系,按照所述排序顺序依次设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。

在一些实施例中,第一类数据对象和第二类数据对象包括总数据对象和多个不同的分数据对象。图12是本申请又一实施例提供的excel报表文件生成装置的示意性框图。如图12所示,该装置120包括获取单元121、封装单元122、排列单元123、绘制单元124、填充单元125以及设置单元126。

获取单元121,用于获取待展示数据。

封装单元122,用于将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象包括总数据对象和多个不同的分数据对象,并设置所述总数据对象和多个不同的分数据对象的对应关联关系。

排列单元123,用于将多个不同的分数据对象按照预设规则进行排列并保存排列顺序。

绘制单元124,用于根据所述总数据对象和多个不同的分数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板,其中,所述excel页面模板包括目录页模板和内容页模板。

填充单元125,用于将所述总数据对象所对应的数据填充到目录页模板中以形成目录页数据,将多个不同的分数据对象所对应的数据按照分数据对象的排列顺序依次填充到内容页模板中,以形成多个内容页数据。

设置单元126,用于按照总数据对象和多个不同的分数据对象的对应关联关系设置目录页数据和内容页数据的对应关联关系,以生成excel报表文件。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图13所示的计算机设备上运行。

图13为本申请实施例提供的一种计算机设备的示意性框图。该设备可以是终端。其中,终端可以是台式电脑、平板电脑、手提电脑等。该设备130包括通过系统总线131连接的处理器132、存储器和网络接口133,其中,存储器可以包括非易失性存储介质134和内存储器135。

该非易失性存储介质134可存储操作系统1341和计算机程序1342。该非易失性存储介质中所存储的计算机程序1342被处理器132执行时,可实现上述所述的excel报表文件生成方法。该处理器132用于提供计算和控制能力,支撑整个设备130的运行。该内存储器135为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器132执行时,可使得处理器132执行上述所述的excel报表文件生成方法。该网络接口133用于进行网络通信。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备130的限定,具体的设备130可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器132用于运行存储在存储器中的计算机程序,以实现如下步骤:

获取待展示数据;将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象至少包括第一类数据对象和第二类数据对象,并设置所述第一类数据对象和所述第二类数据对象的对应关联关系;根据所述第一类数据对象和所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板,其中,所述excel页面模板与封装的数据对象类别对应且数量相同;将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据;根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。

在一实施例中,所述处理器132在执行所述根据所述第一类数据对象和所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板时,具体实现如下步骤:

通过调用excel操作工具,创建excel报表文件,并创建所述excel报表文件的sheet页,所述sheet页的数量与封装后的数据对象的总数量相同,其中,所述数据对象的总数量包括所述第一类数据对象的数量和所述第二类数据对象的数量;根据封装后的数据对象的类型绘制excel页面模板,所述excel页面模板与封装后的数据对象的类别对应且数量相同;设置所述excel页面模板的样式。

在一实施例中,所述页面模板包括表格模板,所述处理器132在执行所述根据封装后的数据对象的类型绘制excel页面模板时,具体实现如下步骤:

绘制表格模板的边框、表头、表行、表列;根据封装后的数据对象确定表头所对应的需展示数据;根据所述表头所对应的需展示数据,设置对应表行或者表列需展示数据的对应参数;根据所述对应参数从对应数据对象中确定所述参数所对应的具体值所占行数或者列数。

在一实施例中,所述处理器132在执行所述将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据时,具体实现如下步骤:

确定所述第一类数据对象和所述第二类数据对象所对应数据的数据类型和数据格式;在对应页面模板填充数据的位置处设置与所对应数据相同的数据类型和数据格式;在对应页面模板填充数据的位置处填充对应数据,以生成对应的sheet页数据;根据所述第一类数据对象和所述第二类数据对象的名称为对应的sheet页命名。

在一实施例中,所述处理器132在执行所述根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系时,具体实现如下步骤:

从sheet页数据中确定产生所述第一类数据对象和所述第二类数据对象的对应关联关系所对应的数据项;在数据项所对应的单元格内设置超链接公式,以通过超链接公式来实现sheet页数据之间的对应关联关系。

在一实施例中,所述处理器132在执行所述设置所述第一类数据对象和所述第二类数据对象的对应关联关系时,具体实现如下步骤:

将所述第一类数据对象设置为所述第二类数据对象的属性值或者值;或者将所述第二类数据对象设置为所述第一类数据对象的属性值或者值。

在一实施例中,若所述第一类数据对象有一个,所述第二类数据对象有多个,所述处理器132在执行所述创建excel文件之前,还具体实现:将多个所述第二类数据对象按照预设规则进行排列并保存排列顺序;所述处理器132在执行所述将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据时,具体实现如下步骤:所述第一类数据对象所对应的数据填充到所述第一类数据对象所对应的页面模板中,将多个所述第二类数据对象所对应的数据按照所述排列顺序依次填充到所述第二类数据对象所对应的页面模板中,以生成对应的sheet页数据;所述处理器132在执行所述根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系时,具体实现如下步骤:根据所述第一类数据对象和多个第二类数据对象的对应关联关系,按照所述排序顺序依次设置对应的sheet页数据之间的对应关联关系。

应当理解,在本申请实施例中,所称处理器132可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(应用程序licationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时实现以下步骤:

获取待展示数据;将所述待展示数据按照数据类别封装成不同的数据对象,所述数据对象至少包括第一类数据对象和第二类数据对象,并设置所述第一类数据对象和所述第二类数据对象的对应关联关系;根据所述第一类数据对象和所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板,其中,所述excel页面模板与封装的数据对象类别对应且数量相同;将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据;根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系,以生成excel报表文件。

在一实施例中,所述处理器在执行所述根据所述第一类数据对象和所述第二类数据对象,通过调用excel操作工具,创建excel文件,并绘制excel页面模板时,具体实现如下步骤:

通过调用excel操作工具,创建excel报表文件,并创建所述excel报表文件的sheet页,所述sheet页的数量与封装后的数据对象的总数量相同,其中,所述数据对象的总数量包括所述第一类数据对象的数量和所述第二类数据对象的数量;根据封装后的数据对象的类型绘制excel页面模板,所述excel页面模板与封装后的数据对象的类别对应且数量相同;设置所述excel页面模板的样式。

在一实施例中,所述页面模板包括表格模板,所述处理器在执行所述所述根据封装后的数据对象的类型绘制excel页面模板时,具体实现如下步骤:

绘制表格模板的边框、表头、表行、表列;根据封装后的数据对象确定表头所对应的需展示数据;根据所述表头所对应的需展示数据,设置对应表行或者表列需展示数据的对应参数;根据所述对应参数从对应数据对象中确定所述参数所对应的具体值所占行数或者列数。

在一实施例中,所述处理器在执行所述将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据时,具体实现如下步骤:

确定所述第一类数据对象和所述第二类数据对象所对应数据的数据类型和数据格式;在对应页面模板填充数据的位置处设置与所对应数据相同的数据类型和数据格式;在对应页面模板填充数据的位置处填充对应数据,以生成对应的sheet页数据;根据所述第一类数据对象和所述第二类数据对象的名称为对应的sheet页命名。

在一实施例中,所述处理器在执行所述根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系时,具体实现如下步骤:

从sheet页数据中确定产生所述第一类数据对象和所述第二类数据对象的对应关联关系所对应的数据项;在数据项所对应的单元格内设置超链接公式,以通过超链接公式来实现sheet页数据之间的对应关联关系。

在一实施例中,所述处理器在执行所述设置所述第一类数据对象和所述第二类数据对象的对应关联关系时,具体实现如下步骤:

将所述第一类数据对象设置为所述第二类数据对象的属性值或者值;或者将所述第二类数据对象设置为所述第一类数据对象的属性值或者值。

在一实施例中,若所述第一类数据对象有一个,所述第二类数据对象有多个,所述处理器在执行所述创建excel文件之前,还具体实现:将多个所述第二类数据对象按照预设规则进行排列并保存排列顺序;所述处理器在执行所述将所述第一类数据对象和所述第二类数据对象所对应的数据填充到对应页面模板中以生成对应的sheet页数据时,具体实现如下步骤:所述第一类数据对象所对应的数据填充到所述第一类数据对象所对应的页面模板中,将多个所述第二类数据对象所对应的数据按照所述排列顺序依次填充到所述第二类数据对象所对应的页面模板中,以生成对应的sheet页数据;所述处理器在执行所述根据所述第一类数据对象和所述第二类数据对象的对应关联关系设置对应的sheet页数据之间的对应关联关系时,具体实现如下步骤:根据所述第一类数据对象和多个第二类数据对象的对应关联关系,按照所述排序顺序依次设置对应的sheet页数据之间的对应关联关系。

所述存储介质可以是u盘、移动硬盘、只读存储器(read-onlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1