一种生成报表表头的方法和装置的制造方法

xiaoxiao2021-2-28  255

一种生成报表表头的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数据处理技术领域,具体涉及一种生成报表表头的方法和装置。
【背景技术】
[0002] 报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:"报表=多样 的格式+动态的数据"。随着计算机的出现,通过计算机处理数据和界面设计的功能来生成、 展示报表成为可能,大量的数据处理需求,催生了许多报表软件,报表软件的主要特点是数 据动态化,格式多样化,并且实现报表数据和报表格式的完全分离,表头样式和数据都是事 先固定好的,只有报表的内容是动态数据,用户可以只修改数据,或者只修改格式。现有的 报表软件一般都比较复杂,在制作报表时,尤其是在制作的报表表头有较多的合并行、合并 列操作时对制作报表用户的技术能力要求较高,只适合专业人员来操作,不适合非专业人 员,因此亟需一种适合非专业人员处理复杂格式表头的方案。

【发明内容】

[0003] 本发明提供了一种生成报表表头的方法和装置以解决现有报表软件对制作报表 用户的专业能力要求高的技术问题。
[0004] 为达到上述目的,本发明的技术方案是这样实现的:
[0005] 根据本发明的一个方面,提供了一种生成报表表头的方法,该方法包括:
[0006] 获取待生成的报表的表头格式;
[0007] 根据与表头格式对应的树形结构各节点之间的层级关系,计算各节点对应的表头 单元格的合并行属性值以及合并列属性值;
[0008] 将树形结构的各节点中的内容作为对应的各表头单元格的内容,并根据每个表头 单元格的合并行属性值以及合并列属性值生成报表表头。
[0009] 可选地,根据与表头格式对应的树形结构各节点之间的层级关系,计算各节点对 应的表头单元格的合并列属性值包括:
[0010] 按照如下公式计算各节点对应的表头单元格的合并列属性值:
[0011] 各节点对应的表头单元格的合并列属性值=该表头单元格对应的节点下所有叶 子节点的个数。
[0012] 可选地,根据与表头格式对应的树形结构的各节点之间的层级关系,计算各节点 对应的表头单元格的合并行属性值包括:
[0013] 计算树形结构的最大层级值N以及各节点在树形结构中的层级值Μ ;
[0014] 判断每个表头单元格对应的节点下是否有叶子节点,是则,将该表头单元格的合 并行属性值设为1 ;
[0015] 否则,该表头单元格的合并行属性值=Ν-Μ+1,其中Μ小于Ν。
[0016] 可选地,表头格式中的表头单元格分为报表名称单元格和表头其他单元格;
[0017] 报表名称单元格的内容为树形结构的根节点,表头其他单元格的内容为树形结构 的分支节点或叶子节点。
[0018] 可选地,该方法还包括:
[0019] 在树形结构中增加一个或者多个节点,并更新各节点之间的层级关系;或者,
[0020] 在树形结构中删除一个或者多个节点,并更新各节点之间的层级关系。
[0021] 根据本发明的另一个方面,提供了一种生成报表表头的装置,该装置包括:
[0022] 报表获取单兀,用于获取待生成的报表的表头格式;
[0023] 计算单元,用于根据与表头格式对应的树形结构各节点之间的层级关系,计算各 节点对应的表头单元格的合并行属性值以及合并列属性值;
[0024] 生成单元,用于将树形结构的各节点中的内容作为对应的各表头单元格的内容, 并根据每个表头单元格的合并行属性值以及合并列属性值生成报表表头。
[0025] 可选地,计算单元包括:合并列属性值计算单元;
[0026] 合并列属性值计算单元,用于按照如下公式计算每个表头单元格的合并列属性 值:
[0027] 各节点对应的表头单元格的合并列属性值=该表头单元格对应的节点下所有叶 子节点的个数。
[0028] 可选地,计算单元包括:合并行属性值计算单元;
[0029] 合并行属性值计算单元,用于计算树形结构的最大层级值N以及每个节点在树形 结构中的层级值Μ ;
[0030] 判断每个表头单元格对应的节点是否有叶子节点,是则,将该表头单元格的合并 行属性值设为1 ;
[0031] 否则,该表头单元格的合并行属性值=Ν-Μ+1,其中Μ小于Ν。
[0032] 可选地,表头格式中的表头单兀格分为报表名称单兀格和表头其他单兀格;报表 名称单元格的内容为树形结构的根节点,表头其他单元格的内容为树形结构的分支节点或 叶子节点。
[0033] 可选地,计算单元还用于在树形结构中增加一个或者多个节点,并更新各节点之 间的层级关系;
[0034] 或者,
[0035] 在树形结构中删除一个或者多个节点,并更新各节点之间的层级关系。
[0036] 本发明的这种生成报表表头的方法,能够按照用户想要生成的报表表头格式自动 计算出要合并的行列属性值,根据报表表头单元格的内容以及表头单元格的合并行属性和 合并列属性生成用户需要的报表表头,该生成报表表头的方法对用户的专业能力要求不 高,解决了报表软件不适合非专业人员处理复杂格式的报表表头的问题。
【附图说明】
[0037] 图1是本发明一个实施例提供的一种生成报表表头的方法的流程图;
[0038] 图2是本发明一个实施例提供的与表1报表表头格式对应的树形结构示意图;
[0039] 图3是本发明一个实施例提供的一种生成报表表头的装置的框图。
【具体实施方式】
[0040] 本发明的核心思想是:获取用户欲生成的报表的表头格式,根据用户在与所选表 头格式对应的树形结构中各个节点输入的内容,计算每个节点对应的单元格的合并行属性 值以及合并列属性值,根据报表表头单元格的行属性值和列属性值以及表头单元格中的内 容生成报表表头,解决了复杂格式报表表头生成问题,简化了报表表头的生成过程,进而达 到快速简单、高效率生成报表的目的。并且,通过本发明的这种生成报表表头的方法无需用 户手动设置报表表头单元格的格式,对用户的专业能力要求不高,满足了普通用户制作报 表的需求。
[0041] 图1是本发明一个实施例提供的一种生成报表表头的方法的流程图,参见图1,本 发明的这种生成报表表头的方法包括:
[0042] 步骤S110,获取待生成的报表的表头格式;
[0043] 步骤S120,根据表头格式对应的树形结构各节点之间的层级关系,计算各节点对 应的表头单元格的合并行属性值以及合并列属性值;
[0044] 步骤S130,将树形结构的各节点中的内容作为对应的各表头单元格的内容,并根 据每个表头单元格的合并行属性值以及合并列属性值生成报表表头。
[0045] 通过本发明的这种生成报表表头方法,在需要生成有合并行列情况的报表表头 时,无需用户手动设置每个单元格的合并行属性值和合并列属性值确定报表的表头格式, 简化了报表表头的制作过程,对用户的专业能力要求不高,适合非专业人员制作复杂表头 格式的报表。
[0046] 表1 7K意了本发明一个实施例提供的一种待生成报表表头格式,如表1所7K,用户 想要制作一个报表名称为"6月份农作物销售情况统计表(吨)"的报表,该报表表头包括: 报表名称单元格:6月份农作物销售情况统计报表(吨);报表表头其他单元格:姓名、粮食 作物、经济作物、蔬菜作物以及粮食作物、经济作物、蔬菜作物的各细分单元格。报表的表 头格式比较常用的是横向表、坚向表,表头单兀格是相对于报表中的数据单兀格而言固定 的部分,如表1所$ :表头格式为横向表头,表头中的表头单兀格是报表的前4行单兀格内 容,后三行单元格内容代表了数据单元格,数据单元格是处于变动状态,而表头单元格则是 相对固定的。
[0047]
[0048] 表 1
[0049] 可以理解,表1只是7K意性的表7K了一种待生成的报表的结构,在实际应用中,本 领域的技术人员可以根据实际的使用需求,制作不同于表1格式的报表表头。
[0050] 图2是本发明一个实施例提供的存储报表表头格式的树形结构示意图;下面结合 表1和图2具体说明本发明的生成报表表头的方法的实现过程。
[0051] 首先,应用本发明的这种生成报表表头的方法,获取待生成的表1的表头格式。
[0052] 具体可以在与用户的交互界面呈现几种表头格式供用户选择,通过用户的点选来 获取即将生成的报表表头的表头格式。当用户选择好表头格式,则将与该表头格式对应的 树形结构呈现给用户,以方便用户开始输入表头中的内容。
[0053] 然后,开始接收用户在与该表头格式对应的树形结构的各个节点中输入的内容, 每个节点都与一个表头单元格对应。当然,还可以将树形结构的模板提供给用户,模板中的 各节点可以有些初始的内容,用户通过直接修改节点中的内容完成各节点的内容输入,免 去创建节点的麻烦。
[0054] 所述表头格式中的表头单兀格分为报表名称单兀格和表头其他单兀格;报表名称 单元格的内容为树形结构的根节点,其内容即为报表名称。表头其他单元格的内容为树形 结构的分支节点或叶子节点。报表名称单元格的数量为一个,而表头其他单元格的数量为 可以为多个。
[0055] 树形结构具体可以参见图2的示例,201表示报表名称为树形结构的根节点,202 表示表头其他单元格的内容为树形结构的分支节点或叶子节点。图2中,以粮食作物所在 节点为例,粮食作物所在的节点和水稻所在的节点是树形结构的分支节点,水稻节点下有 销售叶子节点和库存叶子节点。在根节点6月份农作物销售情况统计报表下面,有T1-T13 共13个叶子节点。
[0056] 再次,根据图2所示的树形结构各节点之间的层级关系,计算各节点对应的表头 单元格的合并行属性值以及合并列属性值。
[0057]以粮食作物所在节点为例,粮食作物节点为一级;水稻节点为二级;水稻的销售 节点和库存节点都为三级。
[0058] 在本实施例中,参见图2,根据树形结构各节点之间的层级关系,计算各节点对应 的表头单元格的合并列属性值包括:
[0059] 按照如下公式计算各节点对应的表头单元格的合并列属性值:
[0060] 各节点对应的表头单元格的合并列属性 值=该表头单元格对应的节点下所有叶 子节点的个数。
[0061] 计算每个节点下面所有叶子节点的个数作为该节点的合并列数(即colspan的 值)。例如,根节点(6月份农作物销售情况统计报表)的合并列属性值等于:
[0062] T1+T2+T3+T4+T5+T6+T7+T8+T9+T10+T11+T12+T13 = 13。
[0063] 分支节点粮食作物的合并列属性值等于:T2+T3+T4+T5 = 4。
[0064] 分支节点玉米的合并列属性值等于:T4+T5 = 2。
[0065] 在本实施例中,根据存储的树形结构的各节点之间的层级关系,计算各节点对应 的表头单元格的合并行属性值包括:
[0066] 计算树形结构的最大层级值Ν以及各节点在树形结构中的层级值Μ ;
[0067] 判断每个表头单元格对应的节点下是否有叶子节点,是则,将该表头单元格的合 并行属性值设为1 ;否则,该表头单元格的合并行属性值=Ν-Μ+1,其中Μ小于Ν。
[0068] 参见图2,计算树形结构的最大的层级值Ν和每个节点在树形结构的层级值Μ,图 2所示的树形结构的最大层级值Ν = 3 (粮食作物一水稻一库存=3)。
[0069] 判断表头单元格对应的节点是否有叶子节点,是则,该节点的合并行属性值默认 为1 (即rowspan的值);例如,图2中"水稻"节点有叶子节点则合并行数=1 ;
[0070] 否则,该节点的合并行数为N-M+1的值,其中Μ小于N。
[0071] 例如,"姓名"节点在树形结构的层级Μ = 1 ;则"姓名"节点的合并行数=N-M+1 =3-1+1 = 3〇
[0072] 经过上述步骤,计算出了表头单元格的合并行属性值(rowspan)和合并列属性值 (colspan)〇
[0073] 最后,将树形结构的各节点中的内容作为对应的各表头单元格的内容,以及根据 每个表头单元格的合并行属性值以及合并列属性值生成表1所示的报表表头。
[0074] 该发明的方法将表1所示的表头样式,根据用户在与该表头格式对应的树形结构 中各个节点输入的内容,计算每个节点对应的单元格的合并行属性值以及合并列属性值, 根据报表表头单元格的行属性值和列属性值以及表头单元格中的内容生成报表表头。通过 维护一组树形存储结构的节点,实现了自动计算每个表头单元格的合并行列属性值,动态 维护报表表头格式的效果。这样用户在制作报表时,不需要自己手动挨个设置表头单元格 的格式,简化了有较多合并行、合并列等复杂报表表头的制作过程,对用户的专业能力要求 不高。在本实施例中,合并行数和合并行属性值同义,合并列数与合并列属性值同义。
[0075] 在本实施例中,基于报表表头格式对应的树形存储结构,该生成报表表头的方法 还可以在树形结构中动态的增加一个节点或者多个节点,并更新各节点之间的层级关系, 或者动态的删除一个或者多个节点,更新各节点之间的层级关系,使得用户根据具体需求 简单、方便对报表表头的格式进行修改和维护。
[0076] 在具体实现时,当用户在树形结构的节点中输入表头单元格的内容时,可以实时 的将报表表头进行生成显示,便于用户及时看到效果并进行更正;也可以在用户完成全部 节点的输入后发出生成指令,根据生成指令再将树形结构中各节点的内容作为对应的表头 单元格的内容,并根据所述每个表头单元格的合并行属性值以及合并列属性值生成报表表 头。
[0077] 本发明还提供了一种生成报表表头的装置,图3是本发明一个实施例提供的一种 生成报表表头的装置的框图。该生成报表表头的装置300包括:
[0078] 报表获取单兀301,用于获取待生成的报表的表头格式;
[0079] 计算单元302,用于根据与表头格式对应的树形结构各节点之间的层级关系,计算 各节点对应的表头单元格的合并行属性值以及合并列属性值;
[0080] 生成单元303,用于将树形结构的各节点中的内容作为对应的各表头单元格的内 容,并根据每个表头单元格的合并行属性值以及合并列属性值生成报表表头。
[0081] 在本实施例中,计算单元302包括:合并列属性值计算单元;
[0082] 合并列属性值计算单元,用于按照如下公式计算每个表头单元格的合并列属性 值:
[0083] 各节点对应的表头单元格的合并列属性值=该表头单元格对应的节点下所有叶 子节点的个数。
[0084] 在本实施例中,计算单元302包括:合并行属性值计算单元;
[0085] 合并行属性值计算单元,用于计算树形结构的最大层级值N以及每个节点在树形 结构中的层级值Μ ;判断每个表头单元格对应的节点是否有叶子节点,是则,将该表头单元 格的合并行属性值设为1 ;
[0086] 否则,该表头单元格的合并行属性值=N-M+1,其中Μ小于N。
[0087] 在本实施例中,表头格式中的表头单元格分为报表名称单元格和表头其他单元 格;根据报表名称单元格的内容为树形结构的根节点,表头其他单元格的内容为树形结构 的分支节点或叶子节点。
[0088] 在本实施例中,计算单元302还用于在树形结构中增加一个或者多个节点,并更 新各节点之间的层级关系;
[0089] 或者,
[0090] 在树形结构中删除一个或者多个节点,并更新各节点之间的层级关系。
[0091] 综上所述,本发明的这种生成报表表头的方法和装置使用递归计算树形结构的层 级关系,并根据层级关系计算报表的colspan属性值和rowspan属性值,实现了自动计算每 个表头单元格的合并行列属性值,动态维护报表表头单元格的数据结构的节点,进而动态 维护报表表头格式的效果。简化了复杂报表表头的制作过程,对用户的专业能力要求不高, 解决了现有报表软件只适合专业人员操作不适合非专业人员使用的问题。
[0092] 以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发 明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1. 一种生成报表表头的方法,其特征在于,该方法包括: 获取待生成的报表的表头格式; 根据与所述表头格式对应的树形结构各节点之间的层级关系,计算各节点对应的表头 单元格的合并行属性值以及合并列属性值; 将树形结构的各节点中的内容作为对应的各表头单元格的内容,并根据所述每个表头 单元格的合并行属性值以及合并列属性值生成报表表头。2. 如权利要求1所述的方法,其特征在于,所述根据与所述表头格式对应的树形结构 各节点之间的层级关系,计算各节点对应的表头单元格的合并列属性值包括: 按照如下公式计算各节点对应的表头单元格的合并列属性值: 各节点对应的表头单元格的合并列属性值=该表头单元格对应的节点下所有叶子节 点的个数。3. 如权利要求1所述的方法,其特征在于,所述根据与所述表头格式对应的树形结构 的各节点之间的层级关系,计算各节点对应的表头单元格的合并行属性值包括: 计算所述树形结构的最大层级值N以及各节点在所述树形结构中的层级值Μ; 判断每个表头单元格对应的节点下是否有叶子节点,是则,将该表头单元格的合并行 属性值设为1 ; 否则,该表头单元格的合并行属性值=Ν-Μ+1,其中Μ小于Ν。4. 如权利要求1所述的方法,其特征在于, 所述表头格式中的表头单兀格分为报表名称单兀格和表头其他单兀格; 所述报表名称单元格的内容为树形结构的根节点,所述表头其他单元格的内容为树形 结构的分支节点或叶子节点。5. 如权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括: 在所述树形结构中增加一个或者多个节点,并更新各节点之间的层级关系; 或者, 在所述树形结构中删除一个或者多个节点,并更新各节点之间的层级关系。6. -种生成报表表头的装置,其特征在于,该装置包括: 报表获取单兀,用于获取待生成的报表的表头格式; 计算单元,用于根据与所述表头格式对应的树形结构各节点之间的层级关系,计算各 节点对应的表头单元格的合并行属性值以及合并列属性值; 生成单元,用于将树形结构的各节点中的内容作为对应的各表头单元格的内容,并根 据所述每个表头单元格的合并行属性值以及合并列属性值生成报表表头。7. 如权利要求6所述的装置,其特征在于,所述计算单元包括:合并列属性值计算单 元; 所述合并列属性值计算单元,用于按照如下公式计算每个表头单元格的合并列属性 值: 各节点对应的表头单元格的合并列属性值=该表头单元格对应的节点下所有叶子节 点的个数。8. 如权利要求6所述的装置,其特征在于,所述计算单元包括:合并行属性值计算单 元; 所述合并行属性值计算单元,用于计算树形结构的最大层级值N以及每个节点在所述 树形结构中的层级值Μ; 判断每个表头单元格对应的节点是否有叶子节点,是则,将该表头单元格的合并行属 性值设为1 ; 否则,该表头单元格的合并行属性值=Ν-Μ+1,其中Μ小于Ν。9. 如权利要求6所述的装置,其特征在于, 所述表头格式中的表头单兀格分为报表名称单兀格和表头其他单兀格; 所述报表名称单元格的内容为树形结构的根节点,所述表头其他单元格的内容为树形 结构的分支节点或叶子节点。10. 如权利要求6-9中任一项所述的装置,其特征在于, 所述计算单元还用于在树形结构中增加一个或者多个节点,并更新各节点之间的层级 关系;或者,在树形结构中删除一个或者多个节点,并更新各节点之间的层级关系。
【专利摘要】本发明公开了一种生成报表表头的方法和装置,该方法包括:获取待生成的报表的表头格式;根据与所述表头格式对应的树形结构各节点之间的层级关系,计算各节点对应的表头单元格的合并行属性值以及合并列属性值;将树形结构的各节点中的内容作为对应的各表头单元格的内容,并根据每个表头单元格的合并行属性值以及合并列属性值生成报表表头。本发明的生成报表表头的方法实现简单,对用户的专业能力要求不高,解决了报表软件只适合专业人员使用不适合非专业人员的问题。
【IPC分类】G06F17/24, G06F17/30
【公开号】CN105488073
【申请号】CN201410504764
【发明人】赵琛, 王庆磊, 张国波
【申请人】北京神州泰岳软件股份有限公司
【公开日】2016年4月13日
【申请日】2014年9月26日

最新回复(0)