本技术涉及计算机,具体涉及电子表格,尤其涉及一种电子表格公式计算防卡死方法、装置、设备及存储介质。
背景技术:
1、电子表格是一类模拟纸上计算表格的计算机程序,可以对输入的数据及公式进行各种复杂运算并为用户显示。
2、目前,一般对于电子表格中的公式进行计算时,使用kahn算法(kahn’salgorithm,卡恩算法)对公式依次进行计算。
3、然而,现有的kahn算法的处理方式,在电子表格中存在大量引用公式的公式时,会一直处理公式而不响应用户的操作,直至全部计算完毕。对用户而言,会有较长时间处于一种“页面卡死”的状态,导致用户无法对电子表格进行任何操作,体验较差。
技术实现思路
1、本技术实施例通过提供一种电子表格公式计算防卡死方法、装置、设备及存储介质,解决了现有技术中导致页面卡死,用户无法操作的问题,实现了在电子表格的计算过程中对用户操作的响应,提高了用户体验,同时在用户对电子表格进行重新编辑后,避免了无效的公式计算,提高了计算效率。
2、第一方面,本技术实施例提供了一种电子表格公式计算防卡死方法,包括:
3、确定步骤,确定步骤包括:根据电子表格,确定待计算公式;根据待计算公式,确定待计算公式的公式引用数量。确定存在第一公式,计算第一公式,得到计算结果并存储,更新第一公式及第二公式,根据第一预设规则,确定响应用户操作,根据用户的操作类型,执行第一预设动作;其中,第一公式包括公式引用数量为零的待计算公式,第二公式包括引用第一公式的待计算公式,第一预设规则包括每经过第一预设时长,操作类型包括编辑操作和一般操作;根据用户的操作类型,执行第一预设动作,包括:当操作类型为一般操作,继续计算第一公式,直至不存在第一公式;当操作类型为编辑操作,执行确定步骤。确定存在循环引用公式且未达到预设迭代次数,对循环引用公式进行迭代计算,根据第二预设规则,确定响应用户操作,根据用户的操作类型,执行第二预设动作;其中,循环引用公式为存在循环引用的待计算公式,第二预设规则包括每经过第二预设时长;根据用户的操作类型,执行第二预设动作,包括:当操作类型为一般操作,继续计算循环引用公式,直至达到预设迭代次数停止计算;当操作类型为编辑操作,执行确定步骤。
4、结合第一方面,在一种可能的实现方式中,根据用户的操作类型,执行第一预设动作,还包括:当操作类型为一般操作,显示已得到的计算结果和剩余计算数量;当操作类型为编辑操作,显示已得到的计算结果;根据用户的操作类型,执行第二预设动作,还包括:当操作类型为一般操作,继续计算循环引用公式,显示已得到的计算结果、剩余计算数量和剩余迭代数量;当操作类型为编辑操作,显示已得到的计算结果。
5、结合第一方面,在一种可能的实现方式中,在根据公式引用数量确定第一公式,计算第一公式,得到计算结果并存储之前,方法还包括:确定待计算公式的层级关联关系;当操作类型为编辑操作,显示已得到的计算结果,包括:根据编辑操作对应的目标待计算公式,以及目标待计算公式的层级关联关系,从已得到的计算结果中,确定目标计算结果并显示。
6、结合第一方面,在一种可能的实现方式中,当操作类型为编辑操作,执行确定步骤,包括:当操作类型为编辑操作,执行确定步骤,并设置重新执行标记;根据电子表格,确定待计算公式,包括:根据电子表格、待计算公式的层级关联关系、编辑操作对应的待计算公式和重新执行标记,确定待计算公式。
7、结合第一方面,在一种可能的实现方式中,第一预设规则,还包括:每经过第一预设公式计算次数;第二预设规则,还包括:每经过第二预设公式计算次数;根据第一预设规则,确定响应用户操作,包括:每经过第一预设时长,和/或,每经过第一预设公式计算次数,确定响应用户操作;根据第二预设规则,确定响应用户操作,包括:每经过第二预设时长,和/或,每经过第二预设公式计算次数,确定响应用户操作。
8、结合第一方面,在一种可能的实现方式中,方法还包括:在显示已得到的计算结果时,对计算结果对应的单元格设置已计算标记。
9、结合第一方面,在一种可能的实现方式中,操作类型还包括暂停计算操作,根据用户的操作类型,执行第一预设动作,还包括:当操作类型为暂停计算操作,停止计算,显示已得到的计算结果;根据用户的操作类型,执行第二预设动作,还包括:当操作类型为暂停计算操作,停止计算,显示已得到的计算结果。
10、第二方面,本技术实施例提供了一种电子表格公式计算防卡死装置,包括:确定模块,第一处理模块和第二处理模块。
11、确定模块,用于根据电子表格,确定待计算公式;根据待计算公式,确定待计算公式的公式引用数量。
12、第一处理模块,用于根据公式引用数量确定第一公式,计算第一公式,得到计算结果并存储,更新第一公式及第二公式,根据第一预设规则,确定响应用户操作,根据用户的操作类型,执行第一预设动作;其中,第一公式包括公式引用数量为零的待计算公式,第二公式包括引用第一公式的待计算公式,第一预设规则包括每经过第一预设时长,操作类型包括编辑操作和一般操作;根据用户的操作类型,执行第一预设动作,包括:当操作类型为一般操作,继续计算第一公式,直至不存在第一公式;当操作类型为编辑操作,执行确定模块。
13、第二处理模块,用于确定存在循环引用公式且未达到预设迭代次数,对循环引用公式进行迭代计算,根据第二预设规则,确定响应用户操作,根据用户的操作类型,执行第二预设动作;其中,循环引用公式为存在循环引用的待计算公式,第二预设规则包括每经过第二预设时长;根据用户的操作类型,执行第二预设动作,包括:当操作类型为一般操作,继续计算循环引用公式,直至达到预设迭代次数停止计算;当操作类型为编辑操作,执行确定模块。
14、结合第二方面,在一种可能的实现方式中,第一处理模块,在根据用户的操作类型,执行第一预设动作时,还用于:当操作类型为一般操作,显示已得到的计算结果和剩余计算数量;当操作类型为编辑操作,显示已得到的计算结果。第二处理模块,在根据用户的操作类型,执行第二预设动作时,还用于:当操作类型为一般操作,继续计算循环引用公式,显示已得到的计算结果、剩余计算数量和剩余迭代数量;当操作类型为编辑操作,显示已得到的计算结果。
15、结合第二方面,在一种可能的实现方式中,确定模块,还用于:确定待计算公式的层级关联关系。第一处理模块和第二处理模块,在当操作类型为编辑操作,显示已得到的计算结果时,具体用于:根据编辑操作对应的目标待计算公式,以及目标待计算公式的层级关联关系,从已得到的计算结果中,确定目标计算结果并显示。
16、结合第二方面,在一种可能的实现方式中,第一处理模块和第二处理模块,在当操作类型为编辑操作,执行确定模块时,具体用于:当操作类型为编辑操作,执行确定模块,并设置重新执行标记。确定模块,在根据电子表格,确定待计算公式时,用于:根据电子表格、待计算公式的层级关联关系、编辑操作对应的待计算公式和重新执行标记,确定待计算公式。
17、结合第二方面,在一种可能的实现方式中,第一预设规则,还包括:每经过第一预设公式计算次数;第二预设规则,还包括:每经过第二预设公式计算次数。第一处理模块,在根据第一预设规则,确定响应用户操作时,具体用于:每经过第一预设时长,和/或,每经过第一预设公式计算次数,确定响应用户操作。第二处理模块,在根据第二预设规则,确定响应用户操作时,具体用于:每经过第二预设时长,和/或,每经过第二预设公式计算次数,确定响应用户操作。
18、结合第二方面,在一种可能的实现方式中,第一处理模块和第二处理模块,在显示已得到的计算结果时,对计算结果对应的单元格设置已计算标记。
19、结合第二方面,在一种可能的实现方式中,操作类型还包括暂停计算操作。第一处理模块,在根据用户的操作类型,执行第一预设动作时,还用于:当操作类型为暂停计算操作,停止计算,显示已得到的计算结果。第二处理模块,在根据用户的操作类型,执行第二预设动作时,还用于:当操作类型为暂停计算操作,停止计算,显示已得到的计算结果。
20、第三方面,本技术实施例提供了一种设备,设备包括:处理器;用于存储处理器可执行指令的存储器;处理器执行可执行指令时,实现如第一方面或第一方面任一种可能实现的方式的方法。
21、第四方面,本技术实施例提供了一种非易失性计算机可读存储介质,非易失性计算机可读存储介质包括用于存储计算机程序或指令,当该计算机程序或指令被执行时,使如第一方面或第一方面任一种可能实现的方式的方法被实现。
22、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
23、本技术实施例通过在计算公式引用数量为零的第一公式之后,根据第一预设规则,每经过第一预设时长响应用户操作,根据用户的操作类型,继续计算第一公式或重新开始,以及在对循环引用公式进行迭代计算之后,根据第二预设规则每经过第二预设时长响应用户操作,根据用户的操作类型,继续计算循环引用公式或重新开始,解决了现有技术中导致页面卡死,用户无法操作的问题,实现了在电子表格的计算过程中对用户操作的响应,提高了用户体验,同时在用户对电子表格进行重新编辑后,避免了无效的公式计算,提高了计算效率。
1.一种电子表格公式计算防卡死方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据用户的操作类型,执行第一预设动作,还包括:当操作类型为一般操作,显示已得到的计算结果和剩余计算数量;当操作类型为编辑操作,显示已得到的计算结果;
3.根据权利要求1所述的方法,其特征在于,在根据所述公式引用数量确定第一公式,计算第一公式,得到计算结果并存储之前,所述方法还包括:确定待计算公式的层级关联关系;
4.根据权利要求3所述的方法,其特征在于,所述当操作类型为编辑操作,执行所述确定步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述第一预设规则,还包括:每经过第一预设公式计算次数;所述第二预设规则,还包括:每经过第二预设公式计算次数;
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述操作类型还包括暂停计算操作,所述根据用户的操作类型,执行第一预设动作,还包括:当操作类型为暂停计算操作,停止计算,显示已得到的计算结果;
8.一种电子表格公式计算防卡死装置,其特征在于,包括:
9.一种用于执行电子表格公式计算防卡死方法的设备,其特征在于,包括:
10.一种非易失性计算机可读存储介质,其特征在于,包括用于存储计算机程序或指令,当该计算机程序或指令被执行时,使如权利要求1至7中任一项所述的方法被实现。
