表格数据处理方法、装置、电子设备及存储介质与流程

文档序号:32654955发布日期:2022-12-23 21:13阅读:33来源:国知局
表格数据处理方法、装置、电子设备及存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及一种表格数据处理方法、装置、电子设备及存储介质。


背景技术:

2.目前,低代码的核心场景之一是表格数据管理,例如在线表格。低代码强调数据完整性与一致性,往往低代码表格中的一行即为事务处理的一个完整数据单元。区别于离线表格的自由编辑,在线表格一般以一行作为数据处理(增、删、改)的最小单元。在数据操作过程中,一般会对操作数据作不同层级的校验工作。例如,必填、数据格式、重复值等校验。在单行情况下,一些校验结果提示会中断用户操作。另外,单行提交时,提交中的数据会被锁定,导致用户无法继续操作,导致数据处理效率较低,且影响用户体验。因此,如何提供一种表格数据处理方法,提高表格数据的处理效率,成为了亟待解决的技术问题。


技术实现要素:

3.本技术实施例的主要目的在于提出一种表格数据处理方法、装置、电子设备及存储介质,能够提高表格数据的处理效率。
4.为实现上述目的,本技术实施例的第一方面提出了一种表格数据处理方法,所述方法包括:
5.接收对原始数据表的单元格的目标操作,并记录所述单元格的位置信息;
6.获取所述目标操作的操作类型,并根据所述操作类型对预设的表格操作指令进行筛选,得到第一操作指令;
7.通过所述第一操作指令对所述单元格进行操作处理,得到目标草稿数据,并根据所述目标草稿数据对预设的草稿数据库进行更新;其中,所述草稿数据库包括:原始草稿数据和原始生效数据;
8.若接收到撤销命令,根据所述操作类型对预设的表格逆操作指令进行筛选,得到第二操作指令,并通过所述第二操作指令对所述目标草稿数据进行编辑处理,以对所述草稿数据库进行更新;
9.从所述草稿数据库读取草稿数据,得到选定草稿数据;其中,所述选定草稿数据包括以下任意一种:所述原始生效数据、所述原始草稿数据、所述目标草稿数据;
10.基于所述选定草稿数据更新所述单元格的显示数据,并将所述原始数据表的操作窗口位置移动至所述位置信息对应的表格位置;
11.若接收到提交命令,基于所述草稿数据库对所述原始数据表进行渲染,得到目标数据表。
12.在一些实施例,所述目标操作包括新增操作,所述通过所述第一操作指令对所述单元格进行操作处理,得到目标草稿数据,并根据所述目标草稿数据对预设的草稿数据库进行更新,包括:
13.获取所述新增操作的目标新增数据;
14.获取所述单元格的标识码,得到新增标识码;
15.根据所述操作类型对所述新增标识码和所述目标新增数据进行合并处理,得到目标草稿数据,将所述目标草稿数据写入所述草稿数据库;
16.对应的,所述若接收到撤销命令,通过所述第二操作指令对所述目标草稿数据进行编辑处理,包括:
17.若接收到撤销命令,基于所述新增标识码,将所述草稿数据库的所述目标草稿数据删除。
18.在一些实施例,所述目标操作包括删除操作,所述通过所述第一操作指令对所述单元格进行操作处理,得到目标草稿数据,并根据所述目标草稿数据对预设的草稿数据库进行更新,包括:
19.获取所述单元格的标识码,得到删除标识码;
20.根据所述删除标识码从所述草稿数据库读取草稿数据,得到第一候选草稿数据;
21.若所述第一候选草稿数据为所述原始生效数据,获取所述删除操作的目标删除数据,对所述删除标识码和所述目标删除数据进行合并处理,得到目标草稿数据,将所述目标草稿数据添加至所述草稿数据库;
22.若所述第一候选草稿数据为所述原始草稿数据,且所述第一候选草稿数据的数据类型为新增类型,根据所述第一候选草稿数据生成第一备份草稿数据,并将所述第一备份草稿数据添加至预设的第一缓存库;基于所述删除标识码,将草稿数据库的原始草稿数据删除;
23.对应的,所述若接收到撤销命令,通过所述第二操作指令对所述目标草稿数据进行编辑处理,包括:
24.若接收到所述撤销命令,且若所述第一缓存库存在所述第一备份草稿数据,则基于所述删除标识码,从所述第一缓存库得到所述第一备份草稿数据,将所述第一备份草稿数据添加至所述草稿数据库;
25.或者,若接收到所述撤销命令,且若所述第一缓存库不存在所述第一备份草稿数据,则基于所述删除标识码,将所述草稿数据库的所述目标草稿数据删除。
26.在一些实施例,所述目标操作包括修改操作,所述通过所述第一操作指令对所述单元格进行操作处理,得到目标草稿数据,并根据所述目标草稿数据对预设的草稿数据库进行更新,包括:
27.获取所述单元格的标识码,得到修改标识码;
28.获取所述修改操作的目标修改数据;
29.根据所述修改标识码从所述草稿数据库读取草稿数据,得到第二候选草稿数据;
30.若所述第二候选草稿数据为所述原始生效数据,则基于所述操作类型对所述修改标识码和所述目标修改数据进行合并处理,得到所述目标草稿数据,将所述目标草稿数据添加至所述草稿数据库;
31.若所述第二候选草稿数据为所述原始草稿数据,则将所述第二候选草稿数据进行备份,得到第二备份草稿数据,将所述第二备份草稿数据添加至预设的第二缓存库;基于所述操作类型对所述修改标识码和所述目标修改数据进行合并处理,得到目标草稿数据,根
据所述目标草稿数据对所述草稿数据库的所述原始草稿数据进行更新;
32.对应的,所述若接收到撤销命令,通过所述第二操作指令对所述目标草稿数据进行编辑处理,包括:
33.若接收到撤销命令,且若所述第二缓存库存在所述第二备份草稿数据,则基于所述修改标识码,从所述第二缓存库得到所述第二备份草稿数据,根据所述第二备份草稿数据对所述草稿数据库的所述目标草稿数据进行更新;
34.若接收到撤销命令,且若所述第二缓存库不存在所述第二备份草稿数据,基于所述修改标识码,将所述草稿数据库的所述目标草稿数据删除。
35.在一些实施例,所述目标操作包括撤销操作,所述方法还包括:
36.获取所述单元格的标识码,得到撤销标识码;
37.根据所述撤销标识码从所述草稿数据库读取草稿数据,得到第三候选草稿数据;
38.将所述第三候选草稿数据进行备份,得到第三备份草稿数据,并将所述第三备份草稿数据添加至预设的第三缓存库;
39.基于所述撤销标识码,将所述草稿数据库的所述第三候选草稿数据删除;
40.对应的,所述若接收到撤销命令,通过所述第二操作指令对所述目标草稿数据进行编辑处理,包括:
41.若接收到撤销命令,基于所述撤销标识码,从所述第三缓存库得到所述第三备份草稿数据,将所述第三备份草稿数据添加至所述草稿数据库。
42.在一些实施例,若所述目标操作包括批量复制操作或批量粘贴操作,所述通过所述第一操作指令对所述单元格进行操作处理,生成目标草稿数据,并根据所述目标草稿数据对预设的草稿数据库进行更新,包括:
43.获取所述单元格的标识码,得到批量标识码;
44.获取所述批量操作的目标批量数据;
45.根据所述批量标识码从所述草稿数据库读取草稿数据,得到第四候选草稿数据;
46.将所述第四候选草稿数据进行备份,得到第四备份草稿数据,并将所述第四备份草稿数据添加至预设的第四缓存库;
47.基于所述操作类型,对所述批量标识码、所述目标批量数据进行合并处理,得到目标草稿数据;
48.将所述目标草稿数据添加至所述草稿数据库;
49.对应的,所述若接收到撤销命令,通过所述第二操作指令对所述目标草稿数据进行编辑处理,包括:
50.若接收到撤销命令,基于所述批量标识码,将所述草稿数据库的所述目标草稿数据删除;
51.基于所述批量标识码,从所述第四缓存库得到所述第四备份草稿数据,并将所述第四备份草稿数据添加至所述草稿数据库。
52.在一些实施例,所述基于所述选定草稿数据更新所述单元格的显示数据,包括:
53.若所述选定草稿数据的数据类型为新增类型,则对所述选定草稿数据进行解析,得到目标新增数据,将所述目标新增数据作为所述单元格的当前显示数据;
54.或者,
55.若所述选定草稿数据的数据类型为删除类型,则对所述单元格的当前显示数据进行清空;
56.或者,
57.若所述选定草稿数据的数据类型为修改类型,则对所述选定草稿数据进行解析,得到目标修改数据,将所述目标修改数据作为所述单元格的当前显示数据。
58.为实现上述目的,本技术实施例的第二方面提出了一种表格数据处理装置,所述装置包括:
59.目标操作接收模块,用于接收对原始数据表的单元格的目标操作,并记录所述单元格的位置信息;
60.操作类型获取模块,用于获取所述目标操作的操作类型,并根据所述操作类型对预设的表格操作指令进行筛选,得到第一操作指令;
61.草稿数据生成模块,用于通过所述第一操作指令对所述单元格进行操作处理,得到目标草稿数据,并根据所述目标草稿数据对预设的草稿数据库进行更新;其中,所述草稿数据库包括:原始草稿数据和原始生效数据;
62.撤销模块,用于若接收到撤销命令,根据所述操作类型对预设的表格逆操作指令进行筛选,得到第二操作指令,并通过所述第二操作指令对所述目标草稿数据进行编辑处理,以对所述草稿数据库进行更新;
63.数据读取模块,用于从所述草稿数据库读取草稿数据,得到选定草稿数据;其中,所述选定草稿数据包括所述原始生效数据、或所述原始草稿数据、或所述目标草稿数据;
64.单元格更新模块,用于基于所述选定草稿数据更新所述单元格的显示数据,并将所述原始数据表的操作窗口位置移动至所述位置信息对应的表格位置;
65.目标数据表生成模块,用于若接收到提交命令,基于所述草稿数据库对所述原始数据表进行渲染,得到目标数据表。
66.为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
67.为实现上述目的,本技术实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
68.本技术提出的表格数据处理方法、装置、电子设备及存储介质,通过引入草稿的概念,草稿数据为用户操作产生的临时数据(相对于后台数据库存储的数据)。在接收到提交命令之前,用户的多种操作都以草稿数据的方式存储在草稿数据库。为了可以实时显示用户的操作结果,需从草稿数据库读取草稿数据,以便根据草稿数据更新单元格的当前显示数据。在接收到提交命令后,基于草稿数据库里的所有草稿数据对原始数据表进行渲染,以对原始草稿数据表进行更新得到目标数据表。本技术实施例以草稿数据的方式记录用户的操作,以便提交后统一进行数据校验和更新,提高了在线表格数据处理的效率。
附图说明
69.图1是本技术实施例提供的表格数据处理方法的流程图;
70.图2是图1中的步骤s103的流程图;
71.图3是图1中的步骤s103的另一流程图;
72.图4是图1中的步骤s103的另一流程图;
73.图5是本技术另一实施例提供的表格数据处理方法的流程图;
74.图6是图1中的步骤s103的另一流程图;
75.图7是图1中的步骤s106的另一流程图;
76.图8是本技术实施例提供的表格数据处理装置的模块结构框图;
77.图9是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
78.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
79.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
80.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
81.低代码的核心场景之一是表格数据管理,表现为线上excel形态。传统低代码表格数据场景区别于excel最显著的不同点是事务。低代码强调数据完整性与一致性,往往低代码表格中的一行即为事务处理的一个完整数据单元。所以区别于excel的自由编辑,一般以行作为数据处理(增、删、改)的最小单元。此种方式在逻辑上是完备的,但结合用户反馈,此种模式在实际使用过程中存在如下瑕疵:
82.1、数据操作过程中,一般会对操作数据作不同层级的校验工作,如前台的必填、数据格式以及后台的重复值、提交规则等校验。单行情况下,一些校验结果提示会中断用户操作。提交时,提交中的数据会被锁定无法继续操作。因此,处理效率较低且影响使用体验。
83.2、单行提交的情况下,用户复制、粘贴等批量操作受限,用户的使用场景相应受限。
84.3、常用功能受到一定限制,如撤销、重做等操作无法实现,影响操作效率。
85.基于此,本技术实施例的主要目的在于提出表格数据处理方法、装置、电子设备及存储介质,能够提高表格数据的处理效率。具体通过如下实施例进行说明,首先描述本技术实施例中的表格数据处理方法。
86.图1是本技术实施例提供的表格数据处理方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤s101至步骤s107。
87.步骤s101,接收对原始数据表的单元格的目标操作,并记录单元格的位置信息;
88.步骤s102,获取目标操作的操作类型,并根据操作类型对预设的表格操作指令进行筛选,得到第一操作指令;
89.步骤s103,通过第一操作指令对单元格进行操作处理,得到目标草稿数据,并根据目标草稿数据对预设的草稿数据库进行更新;其中,草稿数据库包括:原始草稿数据和原始生效数据;
90.步骤s104,若接收到撤销命令,根据操作类型对预设的表格逆操作指令进行筛选,得到第二操作指令,并通过第二操作指令对目标草稿数据进行编辑处理,以对草稿数据库进行更新;
91.步骤s105,从草稿数据库读取草稿数据,得到选定草稿数据;其中,选定草稿数据包括以下任意一种:原始生效数据、原始草稿数据、目标草稿数据;
92.步骤s106,基于选定草稿数据更新单元格的显示数据,并将原始数据表的操作窗口位置移动至位置信息对应的表格位置;
93.步骤s107,若接收到提交命令,基于草稿数据库对原始数据表进行渲染,得到目标数据表。
94.本技术实施例所示意的步骤s101至步骤s107,引入草稿的概念,草稿数据为用户操作产生的临时数据(相对于后台数据库存储的数据)。草稿数据存储于草稿数据库,该草稿数据库为临时数据库。结合用户对单元格的实际操作类型,将草稿数据区分为新增、修改、删除三种类型。如用户新增一行数据时,产生一条新增类型的草稿数据。用户修改一行原始数据时,产生一条修改类型的草稿数据。用户删除一行数据时,产生一条删除类型草稿数据。在接收到提交命令之前,用户的多种操作都以草稿数据的方式存储在草稿数据库。为了可以实时显示用户的操作结果,需从草稿数据库读取草稿数据,以便根据草稿数据更新单元格的当前显示数据。在接收到提交命令后,基于草稿数据库里的所有草稿数据对原始数据表进行渲染,以对原始草稿数据表进行更新得到目标数据表。可以理解的是,在得到目标数据表之后,可以将草稿数据库的草稿数据删除,以便下一次接收新的草稿数据。本技术实施例以草稿数据的方式记录用户的操作,以便提交后统一进行数据校验和更新,提高了在线表格数据处理的效率。
95.还需说明的是,本技术实施例还具备以下效果:通过将校验工作的时序转移到用户操作结束后批量提交,降低了用户操作过程中的中断焦虑感;对出现的问题进行集中处理,效率更高;采用indexdb方法来存储草稿数据,兼容性好,普适性强,数据管理更容易,省去了格式转换的麻烦,且突破了存储大小的限制;通过对用户操作的封装,将用户不同操作进行了隔离,避免了操作之间的相互影响。
96.在一些实施例的步骤s101中,原始数据表可为在线excel表、或其他形式的在线表。目标操作包括新增操作、修改操作、删除操作、批量复制操作、批量粘贴操作、撤销操作等。单元格的位置信息包括单元格的行序号、单元格的列序号、当前滚动条所处的位置。可以理解的是,记录位置信息后,当执行撤销命令时,可以直接将原始数据表的窗口位置定位到前一操作执行时的位置。用户可以直观感受到数据变化,以及操作发生时的周边情景还原,便于用户根据这些情景信息来决定下一步是继续执行回退还是开始其他操作。如果不记录,执行撤销命令时,类似于静默执行了,用户感受不到回退操作到底执行了什么,发生了什么变化,以及不知道回退到哪一步了,影响用户的下一步操作决策。
97.在一些实施例的步骤s102中,目标操作的操作类型不同,对单元格的数据处理存在不同。可根据操作类型匹配出对应的第一操作指令,以便根据第一操作指令对单元格进
行相应的处理。例如,若操作类型为新增类型,则第一操作指令至少需要确定单元格的标识码、以及目标新增数据。若操作类型为删除类型,则第一操作指令至少需要确定单元格的标识码、目标删除数据以及目标删除数据的数据类型。
98.在一些实施例的步骤s103中,草稿数据库包括:原始草稿数据和原始生效数据。原始生效数据由原始数据表生成得到。例如,在用户对原始数据表进行操作之前,从原始数据表读出原始生效数据,并将原始生效数据添加至草稿数据库。在用户对原始数据表进行操作之后,若未对单元格进行过操作,则在草稿数据库中至少包括原始生效数据。若是对单元格进行第一次操作,则将对应生成目标草稿数据,并将目标草稿数据添加至草稿数据库。若是对同一单元格进行第二次操作,则上一次操作对应的目标草稿数据记为原始草稿数据。后续继续对单元格进行操作将会生成新的目标草稿数据,并将目标草稿数据添加至草稿数据库。
99.需要说明的是,本实施例的草稿数据库可为localstorage、sessionstorage、indexdb。这是因为indexdb在浏览器本地存储可以避免因网页切换、关闭等情况导致的数据丢失问题,保障了用户数据安全性;indexdb存取速度快,天然支持异步回调,与前端用户操作相一致;indexdb兼容性好,主流浏览器都已支持;indexdb理论上突破了存储大小的限制,存储数据结构上也更灵活,支持关系型数据的存储,在结构上保证了与后端数据存储结构的一致性。
100.在一示例中,原始草稿数据通过对原始数据表的单元格进行操作得到。例如,接收对原始数据表的单元格的目标操作,获取目标操作的操作数据;获取单元格的标识码,得到目标标识码;对目标标识码和操作数据进行合并处理,得到初步草稿数据;根据操作类型对初步草稿数据进行标注处理,得到原始草稿数据;根据操作类型将原始草稿数据写入草稿数据库。
101.需要说明的是,原始草稿数据和目标草稿数据只存在一个,例如第一次对某一单元格进行操作,将生成目标草稿数据,并将目标草稿数据添加至草稿数据库。第二次对同一单元格进行操作,得到目标草稿数据。在草稿数据库中的草稿数据为原始草稿数据,并根据目标草稿数据对原始草稿数据进行更新。对原始草稿数据进行更新包括删除原始草稿数据、修改原始草稿数据等。
102.在一些实施例的步骤s104中,若接收到撤销命令,说明需要撤销上一目标操作。因此,需根据操作类型从表格逆操作指令中得到第二操作指令。第二操作指令与第一操作指令相对应,目的是将第一操作指令参数的操作结果进行还原。在本实施例,主要是通过第二操作指令对草稿数据库进行更新,以便后续根据草稿数据库更新单元格显示数据为最新状态。
103.在一些实施例的步骤s105中,草稿数据库至少包括原始生效数据,还可以包括原始草稿数据和目标草稿数据。不同的单元格在草稿数据库中对应的草稿数据不同。需要说明的是,目标草稿数据优先级最高,原始草稿数据优先级位于目标草稿和原始生效数据之间,原始生效数据优先级最低。例如草稿数据库包括原始生效数据、原始草稿数据、目标草稿数据,则选定草稿数据为目标草稿数据。若草稿数据库包括原始生效数据、原始草稿数据,则选定草稿数据为原始草稿数据。
104.在一些实施例的步骤s106中,基于选定草稿数据更新单元格的显示数据,并将原
始数据表的操作窗口位置移动至位置信息对应的表格位置。需要说明的是,传统方式是每对单元格操作一次就提交数据就后台,并在后台校验结束将数据进行更新显示。但本技术实施例不接收到提交命令就不会将数据提交至后台,因此无法通过后台的校验结果对单元格进行更新。因此,本技术实施例需将每一次操作生成草稿数据,并将草稿数据添加至草稿数据库,以便从草稿数据库读取草稿数据,从而根据草稿数据对单元格的当前显示数据进行更新,以实现用户可以看得实时更新的数据表。
105.在一些实施例的步骤s107中,若接收到提交命令,基于草稿数据库对原始数据表进行渲染,得到目标数据表。具体地,当用户操作结束时,批量提交用户操作产生的草稿数据。在提交的过程中,会对草稿数据做统一的规则校验(必填、字段格式等,用户操作过程中不做校验),如果检验不成功,会对校验错误的行和列进行错误提示,并在修改后进行再次校验提交。
106.请参阅图2,在一些实施例中,目标操作包括新增操作,步骤s103可以包括但不限于包括步骤s201至步骤s203。
107.步骤s201,获取新增操作的目标新增数据;
108.步骤s202,获取单元格的标识码,得到新增标识码;
109.步骤s203,根据操作类型对新增标识码和目标新增数据进行合并处理,得到目标草稿数据,将目标草稿数据写入草稿数据库。
110.对应的,步骤s104可以包括:若接收到撤销命令,基于新增标识码,将草稿数据库的目标草稿数据删除。
111.本技术实施例所示意的步骤s201至步骤s203,基于新增标识码和目标新增数据得到目标草稿数据,以便于后续根据目标草稿数据对单元格的显示状态进行更新,提高了数据处理的效率。
112.具体地,新增操作对应有目标新增数据,操作结束后,应将目标新增数据显示在原始数据表。因此,需将目标新增数据和新增标识码合并得到目标草稿数据,记录目标草稿数据的数据类型为新增类型。需要说明的是,后续从草稿数据库读取目标草稿数据时,需根据数据类型确定单元格的显示状态(显示状态包括存在显示数据和清空显示数据)。若接收到撤销命令,则将目标草稿数据删除。后续只能从草稿数据库读到原始生效数据或原始草稿数据,原始数据表将不会受目标草稿数据的影响,在用户看来,撤销命令已执行完成。
113.在一示例中,若目标操作为新增行,记录位置信息。实例化一个addcommand对象。第一操作指令执行时生成一条原始草稿数据,数据类型为新增类型。将原始草稿数据写入草稿数据库中,对应表格数据新增一行。第二操作指令执行时在草稿数据库中删除同一addcommand对象的第一操作指令执行时生成的原始草稿数据,对应表格数据删除一行,基于位置信息令表格回到新增行的位置。
114.请参阅图3,在一些实施例中,目标操作包括删除操作,步骤s103可以包括但不限于包括步骤s301至步骤s304。
115.步骤s301,获取单元格的标识码,得到删除标识码;
116.步骤s302,根据删除标识码从草稿数据库读取草稿数据,得到第一候选草稿数据;
117.步骤s303,若第一候选草稿数据为原始生效数据,获取删除操作的目标删除数据,对删除标识码和目标删除数据进行合并处理,得到目标草稿数据,将目标草稿数据添加至
草稿数据库;
118.步骤s304,若第一候选草稿数据为原始草稿数据,且第一候选草稿数据的数据类型为新增类型,根据第一候选草稿数据生成第一备份草稿数据,并将第一备份草稿数据添加至预设的第一缓存库;基于删除标识码,将草稿数据库的原始草稿数据删除。
119.对应的,步骤s104包括:若接收到撤销命令,且若第一缓存库存在第一备份草稿数据,则基于删除标识码,从第一缓存库得到第一备份草稿数据,将第一备份草稿数据添加至草稿数据库;或者,若接收到撤销命令,且若第一缓存库不存在第一备份草稿数据,则基于删除标识码,将草稿数据库的目标草稿数据删除。
120.本技术实施例所示意的步骤s301至步骤s304,区分被删除数据的数据类型对草稿数据库的草稿数据做不同的处理,以提高在删除操作下数据处理的效率。
121.在一示例中,若目标操作为删除行,记录位置信息。实例化一个deletecommand对象。第一操作指令执行时区别被删除数据的数据类型采取不同操作,如果被删除数据是新增类型的原始草稿数据,则备份原始草稿数据,得到第一备份草稿数据,并添加至第一缓存库(与deletecommand对象匹配的数据库)。同时从草稿数据库中删除该条原始草稿数据。如果被删除数据为原始生效数据,则生成一条新的删除类型的目标草稿数据,并添加到草稿数据库中。删除操作对应结果都是表格删除数据一行。第二操作方法执行时撤销删除操作,根据第一备份草稿数据是否存在决定后续操作。存在则重新将第一备份草稿数据添加到草稿数据库中,不存在则将草稿数据库的目标草稿数据删除。撤销操作对应结果为行数据还原,同时表格回到删除行时位置处。
122.请参阅图4,在一些实施例中,目标操作包括修改操作,步骤s103可以包括但不限于包括步骤s401至步骤s405。
123.步骤s401,获取单元格的标识码,得到修改标识码;
124.步骤s402,获取修改操作的目标修改数据;
125.步骤s403,根据修改标识码从草稿数据库读取草稿数据,得到第二候选草稿数据;
126.步骤s404,若第二候选草稿数据为原始生效数据,则基于操作类型对修改标识码和目标修改数据进行合并处理,得到目标草稿数据,将目标草稿数据添加至草稿数据库;
127.步骤s405,若第二候选草稿数据为原始草稿数据,则将第二候选草稿数据进行备份,得到第二备份草稿数据,将第二备份草稿数据添加至预设的第二缓存库;基于操作类型对修改标识码和目标修改数据进行合并处理,得到目标草稿数据,根据目标草稿数据对草稿数据库的原始草稿数据进行更新;
128.对应的,步骤s104包括:若接收到撤销命令,且若第二缓存库存在第二备份草稿数据,则基于修改标识码,从第二缓存库得到第二备份草稿数据,根据第二备份草稿数据对草稿数据库的目标草稿数据进行更新;若接收到撤销命令,且若第二缓存库不存在第二备份草稿数据,基于修改标识码,将草稿数据库的目标草稿数据删除。
129.本技术实施例所示意的步骤s401至步骤s405,区分被修改数据的数据类型,对草稿数据库的草稿数据做不同的处理,以提高在修改操作下数据处理的效率。
130.在一示例中,若目标操作为修改行,记录位置信息。实例化一个updatecommand对象。第一操作指令执行时区别在草稿数据库是否存在原始草稿数据采取不同的操作。如果原始草稿数据已经存在,则先备份原始草稿数据得到第二备份草稿数据。然后根据目标草
稿数据对草稿数据库进行更新,以将原始草稿数据更新至最新。如果原始草稿数据不存在,则生成一条修改类型的目标草稿数据,添加到草稿数据库中。修改操作对应结果是行数据为修改后数据,第二操作指令执行时撤销修改操作,对是否存在第二备份草稿数据进行判断,如果第二缓存库(与updatecommand对象匹配的数据库)存在第二备份草稿数据,则将草稿数据库中同一修改标识码的目标草稿数据更新为第二备份草稿数据。如果不存在,则直接删除草稿数据库中同一修改标识码的目标草稿数据。撤销修改操作对应结果为修改还原,同时表格回到修改前单元格行列位置处。
131.请参阅图5,在另一些实施例中,目标操作包括撤销操作,表格数据处理方法还包括但不限于包括步骤s501至步骤s505。
132.步骤s501,获取单元格的标识码,得到撤销标识码;
133.步骤s502,根据撤销标识码从草稿数据库读取草稿数据,得到第三候选草稿数据;
134.步骤s503,将第三候选草稿数据进行备份,得到第三备份草稿数据,并将第三备份草稿数据添加至预设的第三缓存库;
135.步骤s504,基于撤销标识码,将草稿数据库的第三候选草稿数据删除。
136.对应的,步骤s104包括:若接收到撤销命令,基于撤销标识码,从第三缓存库得到第三备份草稿数据,将第三备份草稿数据添加至草稿数据库。
137.本技术实施例所示意的步骤s501至步骤s505,撤销操作执行时需备份草稿数据,以便支持后续撤销命令对应的数据还原,提高在撤销操作下数据处理的效率。
138.在一示例中,撤销操作执行时,记录位置信息,实例化一个cancelcommand对象。第一操作指令执行时先备份当前数据已经存在的草稿数据,得到第三备份草稿数据,并将第三备份草稿数据添加至第三缓存库(与cancelcommand对象匹配的数据库),然后从草稿数据库中删除当前草稿数据。撤销操作结果表现为新增数据被删除,修改结果被还原。第二操作指令执行时,将第一操作指令中备份的第三备份草稿数据重新添加到草稿数据库中,操作对应结果表现为行数据被新增或修改,基于位置信息令表格回到撤销发生时单元格的行列位置处。
139.请参阅图6,在一些实施例中,目标操作包括批量复制操作或批量粘贴操作,步骤s103可以包括但不限于包括步骤s601至步骤s605。
140.步骤s601,获取单元格的标识码,得到批量标识码;
141.步骤s602,获取批量操作的目标批量数据;
142.步骤s603,根据批量标识码从草稿数据库读取草稿数据,得到第四候选草稿数据;
143.步骤s604,将第四候选草稿数据进行备份,得到第四备份草稿数据,并将第四备份草稿数据添加至预设的第四缓存库;
144.步骤s605,基于操作类型,对批量标识码、目标批量数据进行合并处理,得到目标草稿数据;
145.步骤s606,将目标草稿数据添加至草稿数据库。
146.对应的,步骤s104包括:若接收到撤销命令,基于批量标识码,将草稿数据库的目标草稿数据删除;基于批量标识码,从第四缓存库得到第四备份草稿数据,并将第四备份草稿数据添加至草稿数据库。
147.本技术实施例所示意的步骤s601至步骤s606,在执行批量操作时,先对草稿数据
库内的草稿数据进行备份,再进行草稿数据的更新(删除或修改等),以便支持后续撤销命令执行时,能对草稿数据库进行数据还原。
148.需要说明的是,批量复制粘贴行时,操作单元为数据列表。操作结果是复合结果,包含了新增、删除等多项操作。相应产生的草稿数据也包含了新增、删除等草稿数据。为了支持撤销命令的还原操作,将复制粘贴的行为和结果当成一个整体去处理。在一示例中,第一操作指令执行时先对当前草稿数据库的草稿数据进行备份,得到第四备份草稿数据,并将第四备份草稿数据添加至第四缓存库。然后对批量操作的结果分别进行新增、更新草稿数据等,操作结果表现为行列的新增与修改。第二操作指令执行时对第一操作指令执行时产生的草稿数据进行还原,操作结果表现为复制粘贴的数据撤销,同时表格回到复制粘贴发生时单元格行列位置处。
149.在另一些实施例中,目标操作还包括下拉填充操作。下拉填充操作是以一行数据某一单元格的数据为模板,将下拉经过所有行的该单元格的值都变更为模板值。在一示例中,可以定义一个autofillcommand对象,第一操作指令执行时,先备份当前草稿数据库,得到第五草稿数据,并将第五草稿数据添加至第五缓存库(与autofillcommand对象匹配的数据库)。然后将下拉经过的所有行数据依次将目标单元格值发生变更,并变更草稿数据库的草稿数据,操作结果就是渲染表上下拉经过行的单元格的值都变更为模板值。第二操作指令执行时,直接根据第五草稿数据对草稿数据库进行数据还原,操作结果就是渲染表格数据下拉填充经过行单元格的值还原为填充之前的值。
150.请参阅图7,在一些实施例中,步骤s106可以包括但不限于包括步骤s701至步骤s703。
151.步骤s701,若选定草稿数据的数据类型为新增类型,则对选定草稿数据进行解析,得到目标新增数据,将目标新增数据作为单元格的当前显示数据;
152.步骤s702,若选定草稿数据的数据类型为删除类型,则对单元格的当前显示数据进行清空;
153.步骤s703,若选定草稿数据的数据类型为修改类型,则对选定草稿数据进行解析,得到目标修改数据,将目标修改数据作为单元格的当前显示数据。
154.本技术实施例所示意的步骤s701至步骤s703,区分不同数据类型的选定草稿数据,对单元格的显示数据进行更新,以便于用户可以实时获知操作结果。
155.请参阅图8,本技术实施例还提供表格数据处理装置,可以实现上述表格数据处理方法,图8为本技术实施例提供的表格数据处理装置的模块结构框图,该装置包括:目标操作接收模块801、操作类型获取模块802、草稿数据生成模块803、撤销模块804、数据读取模块805、单元格更新模块806和目标数据表生成模块807。其中,目标操作接收模块801用于接收对原始数据表的单元格的目标操作,并记录单元格的位置信息;操作类型获取模块802用于获取目标操作的操作类型,并根据操作类型对预设的表格操作指令进行筛选,得到第一操作指令;草稿数据生成模块803用于通过第一操作指令对单元格进行操作处理,得到目标草稿数据,并根据目标草稿数据对预设的草稿数据库进行更新;其中,草稿数据库包括:原始草稿数据和原始生效数据;撤销模块804用于若接收到撤销命令,根据操作类型对预设的表格逆操作指令进行筛选,得到第二操作指令,并通过第二操作指令对目标草稿数据进行编辑处理,以对草稿数据库进行更新;数据读取模块805用于从草稿数据库读取草稿数据,
得到选定草稿数据;其中,选定草稿数据包括原始生效数据、或原始草稿数据、或目标草稿数据;单元格更新模块806用于基于选定草稿数据更新单元格的显示数据,并将原始数据表的操作窗口位置移动至位置信息对应的表格位置;目标数据表生成模块807用于若接收到提交命令,基于草稿数据库对原始数据表进行渲染,得到目标数据表。
156.需要说明的是,该表格数据处理装置的具体实施方式与上述表格数据处理方法的具体实施例基本相同,在此不再赘述。
157.本技术实施例还提供了电子设备,电子设备包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述表格数据处理方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
158.请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
159.处理器901,可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
160.存储器902,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本技术实施例的数据导入方法;
161.输入/输出接口903,用于实现信息输入及输出;
162.通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
163.总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
164.其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
165.本技术实施例还提供了存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述数据导入方法。
166.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
167.本技术实施例提供的表格数据处理方法、表格数据处理装置、电子设备及存储介质,通过引入草稿的概念,草稿数据为用户操作产生的临时数据(相对于后台数据库存储的数据)。草稿数据存储于草稿数据库,该草稿数据库为临时数据库。结合用户对单元格的实际操作类型,将草稿数据区分为新增、修改、删除三种类型。如用户新增一行数据时,产生一
条新增类型的草稿数据。用户修改一行原始数据时,产生一条修改类型的草稿数据。用户删除一行数据时,产生一条删除类型草稿数据。在接收到提交命令之前,用户的多种操作都以草稿数据的方式存储在草稿数据库。为了可以实时显示用户的操作结果,需从草稿数据库读取草稿数据,以便根据草稿数据更新单元格的当前显示数据。在接收到提交命令后,基于草稿数据库里的所有草稿数据对原始数据表进行渲染,以对原始草稿数据表进行更新得到目标数据表。可以理解的是,在得到目标数据表之后,可以将草稿数据库的草稿数据删除,以便下一次接收新的草稿数据。本技术实施例以草稿数据的方式记录用户的操作,以便提交后统一进行数据校验和更新,提高了在线表格数据处理的效率。
168.本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
169.本领域技术人员可以理解的是,图1-7中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
170.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
171.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
172.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
173.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
174.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
175.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
176.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
177.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
178.以上参照附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1