CN109828985B - 一种表单差异查询方法和装置 - Google Patents
一种表单差异查询方法和装置 Download PDFInfo
- Publication number
- CN109828985B CN109828985B CN201811614062.6A CN201811614062A CN109828985B CN 109828985 B CN109828985 B CN 109828985B CN 201811614062 A CN201811614062 A CN 201811614062A CN 109828985 B CN109828985 B CN 109828985B
- Authority
- CN
- China
- Prior art keywords
- data
- column
- difference
- row
- displaying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供一种表单差异查询方法和装置,所述方法包括:调用第一表单和第二表单;基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异;将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。上述方法可以在终端设备上直接通过编程实现,不需要使用第三方差异分析软件,避免了表单中数据的泄露风险;并且上述方法可以一次性实现整个表单数据的差异对比,准确高效,提高了工作效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种表单差异查询方法和装置。
背景技术
在现有技术中对不同的表单数据进行差异对比,一般可以通过以下两种方案实现。方案一,在表单文件中调用SUMPRODUCT、VLOOKUP等查询函数;但是,由于这些函数都是基于表单中某一列的数据进行对比,所以只能对比某一特定列数据更改前后的不同,无法对整张表格的数据进行对比,并且每次对比都要进行函数设定,容易出现输入错误导致输出无结果;方案二,使用第三方差异分析软件进行差异查询操作;但是对于敏感数据,使用第三方软件操作存在安全风险,且第三方软件会占用大量***运算、内存等资源。
由此可知,现有技术中对表单数据进行差异对比的方法存在不够安全且不能针对整个表单数据一次性查询的问题,所以目前急需一种既能够保证数据安全、又可以一次性针对整个表单数据进行差异对比的方案。
发明内容
有鉴于此,本发明实施例提出一种表单差异查询方法和装置,以解决现有表单差异查询方案不够安全且不能针对整个表单数据一次性查询的问题。
为了解决上述问题,本发明公开了一种表单差异查询方法,所述方法包括:
调用第一表单和第二表单;
基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异;
将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。
优选地,在调用第一表单和第二表单之前,包括:
接收在Excel报表文件中打开Visual Basic编辑器的操作;所述Excel报表文件中包括第一工作表和第二工作表;
所述调用第一表单和第二表单,包括:
在所述Visual Basic编辑器中调用所述第一工作表和所述第二工作表。
优选地,所述基于第一表单的每一列数据,查询第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否相同的步骤包括:
S1:判断位于所述第一表单的第N(1≤N≤第一表单的列数)列中第M(1≤M≤第一表单的行数)行的第一数据与所述第二表单对应的第N列中第M行的第二数据是否相同;
S2:在所述第二数据与所述第一数据相同的情况下,执行第一方案;所述第一方案包括:判断所述第一表单的第N列中第M+1行的第三数据与所述第二表单对应第N列中第M+1行的第四数据是否相同;
在所述第二数据与所述第一数据不同的情况下,执行第二方案;所述第二方案包括:将所述第二数据和/或所述第一数据在其所在的表单中标记显示;并在标记显示后,返回执行第一方案的步骤;
S3:每次为当前行数+1,循环执行步骤S2,直至查询完所述第一表单和所述第二表单第N列的所有行;
S4:依次执行步骤S1、步骤S2,查询所述第一表单和所述第二表单的第N+1列的所有行的数据;
S5:每次为当前列数+1,循环执行步骤S4,直至查询完所述第一表单和所述第二表单中的所有列。
优选地,所述将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单,包括:
在所述差异数据不包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示,或,将所述差异数据通过与其所属表单数据有区别的字体、字号、颜色三者中其中一种进行显示;
在所述差异数据包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示。
本发明实施例还公开一种表单差异查询装置,所述装置包括:
调用模块,用于调用第一表单和第二表单;
查询模块,用于基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异;
显示模块,用于将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。
优选地,所述装置还包括:
打开模块,用于接收在Excel报表文件中打开Visual Basic编辑器的操作;所述Excel报表文件中包括第一工作表和第二工作表;
所述调用模块包括:调用子模块,用于在所述Visual Basic编辑器中调用所述第一工作表和所述第二工作表。
优选地,所述查询模块包括:
S1子模块,用于判断位于所述第一表单的第N(1≤N≤第一表单的列数)列中第M(1≤M≤第一表单的行数)行的第一数据与所述第二表单对应的第N列中第M行的第二数据是否相同;
S2子模块,用于在所述第二数据与所述第一数据相同的情况下,执行第一方案;所述第一方案包括:判断所述第一表单的第N列中第M+1行的第三数据与所述第二表单对应第N列中第M+1行的第四数据是否相同;
在所述第二数据与所述第一数据不同的情况下,执行第二方案;所述第二方案包括:将所述第二数据和/或所述第一数据在其所在的表单中标记显示;在标记显示后,返回执行第一方案的步骤;
S3子模块,用于每次为当前行数+1,循环执行步骤S2,直至查询完所述第一表单和所述第二表单第N列的所有行;
S4子模块,用于依次执行步骤S1、步骤S2,查询所述第一表单和所述第二表单的第N+1列的所有行的数据;
S5子模块,用于每次为当前列数+1,循环执行步骤S4,直至查询完所述第一表单和所述第二表单中的所有列。
优选地,所述显示模块包括:
第一显示子模块,用于在所述差异数据不包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示,或,将所述差异数据通过与其所属表单数据有区别的字体、字号、颜色三者中其中一种进行显示;
第二显示子模块,用于在所述差异数据包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示。
与现有技术相比,本发明具有如下优点:
在本发明实施例中,通过调用第一表单和第二表单,再基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异,最后将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。上述方法可以在终端设备上直接通过编程实现,不需要使用第三方差异分析软件,避免了表单中数据的泄露风险;并且上述方法可以一次性实现整个表单数据的差异对比,准确高效,提高了工作效率。
附图说明
图1示出了本发明实施例一中的一种表单差异查询方法的流程图;
图2-1示出了本发明实施例二中的在Excel报表文件的VisualBasic编辑器下实现的表单差异查询方法的流程图;
图2-2示出了本发明实施例二中的以“本周数据”作为表单名称的第一表单的示意图;
图2-3示出了本发明实施例二中的以“上周数据”作为表单名称的第二表单的示意图;
图2-4示出了本发明实施例二中的打开visual basic编辑器之后的页面示意图;
图2-5示出了本发明实施例二中的visual basic编辑器的编辑页面示意图;
图2-6示出了本发明实施例二中的visual basic编辑器的运行页面示意图;
图2-7示出了本发明实施例二中的visual basic编辑器的运行结果页面示意图;
图3示出了本发明实施例三中的一种表单差异查询装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参照图1,示出了本发明实施例一中的一种表单差异查询方法的流程图,具体可以包括如下步骤:
步骤101,调用第一表单和第二表单。
在本发明实施例中,表单可以是以行和列的形式表示若干个数据的一种电子文件,其中,所述若干个数据分别位于表单中行和列的交叉处。具体地,表单可以是一个包含有M(M≥1)行、N(N≥1)列数据的一个Excel报表文件,也可以是在文档中绘制的一个包含M行、N列数据的电子表格,也可以是一个包含有M行、N列数据的矩阵。对于表单的存在形式,本发明实施例不做具体限定。另外,如果待比较差异的两组数据并不是以表单的形式存在,则需要将所述两组数据分别录入两份表单中,以方便后续调用表单文件进行差异查询。
具体地,本发明实施例需要比较两个表单文件的差异,所以首先需要调用待比较的两个表单文件,即第一表单和第二表单。例如,所述第一表单可以是在具体工作过程中采集的本周数据,而所述第二表单可以是在上一周采集的数据,即上周数据。在调用表单文件时,首先需要获取两个表单文件在终端设备中的存放路径,然后通过编程语言调用存放在具体路径中的表单文件。
例如,如果使用Visual Basic(可视化基础编程语言)编程环境查询两个Excel表单的差异,那么,调用两个Excel表单文件的过程可以如下所述:
首先,新建立一个Visual Basic的工程,设置一个button(按钮),为button取名并定义好Excel的各层对象。定义Excel的各层对象的原因是因为Excel是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。其中,第一层:Application对象,即Excel本身;第二层:workbooks对象集,指Excel的工作簿文件;第三层:worksheets对象集,表示的是Excel的一个工作表;第四层:Cells和Range对象,指向Excel工作表中的单元格,所以首先需要定义好上述各层对象。
例如可以使用如下语言定义Excel的各层对象:
Dim xlapp As Excel.Application'定义Excel对象
Dim xlbook As Excel.Workbook'定义工作簿
Dim xlsheet As Excel.Worksheet'定义工作表
然后,若所述第一表单和第二表单分别是同一个Excel工作薄中两个不同的工作表,则调用其中一个表单文件使用的编程语言可以为:'Set xlsheet=xlapp.Worksheets.Open(App.Path&"\上周数据.xls")',意为在路径App.path中打开已经存在的上周数据.xls工件簿文件。
另外,如果第一表单和第二表单位于同一个Excel工作薄中,因为Excel报表文件本身具有visual basic编辑器的功能,所以可以直接在包含有第一表单和第二表单的Excel工作薄中打开visual basic编辑器,在visual basic编辑环境中调用第一表单和第二表单。也即:
优选地,在调用第一表单和第二表单之前,包括:
接收在Excel报表文件中打开visual basic编辑器的操作;所述Excel报表文件中包括第一工作表和第二工作表;所述调用第一表单和第二表单,包括:
在所述Visual Basic编辑器中调用所述第一工作表和所述第二工作表。
在本发明实施例中,具体地,在打开Excel报表文件后,可以有两种方法进入visual basic编辑器界面。方法1:在Excel菜单中找到“工具”菜单,选择“宏”,进入后再选择“Visual Basic编辑器”。方法2:在键盘上输入Alt+F11快捷键,即可打开visual basic编辑页面。在进入visual basic编辑页面后,在程序中直接使用“sheet.表单名称”即可调用工作表文件。
使用Excel自带的Visual Basic编辑器功能进行表单差异查询,避免了使用其他编程软件需要首先调用表单文件的程序,简化了差异查询的流程,简单高效。
步骤102,基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异。
在本发明实施例中,首先在第一表单中选择一个基准列,并以该基准列为标准,与第二表单中的对应列进行对比。在对比时,从该基准列的第一行数据开始,逐行比较,最终对比完成该基准列每一行的数据;然后,再以同样的方法,以所述第一表单的另外一列作为基准列,再逐行对比;直到最终轮巡完第一表单和第二表单所有的列和行。
需要注意的是,在对比过程中,若遇到第一表单中某一个单元格数据取值为空,即该单元格没有数据,而在相应的第二表单对应的单元格中,数据取值不为空的情况,此时,也认为是两个表单对应单元格处的数据存在差异。
优选地,所述基于第一表单的每一列数据,查询第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否相同的步骤包括:
S1:判断位于所述第一表单的第N(1≤N≤第一表单的列数)列中第M(1≤M≤第一表单的行数)行的数据与所述第二表单对应的第N列中第M行的数据是否相同;
S2:在所述数据相同的情况下,执行第一方案;所述第一方案包括:判断所述第一表单的第N列中第M+1行的数据与所述第二表单对应第N列中第M+1行的数据是否相同;
在所述数据不同的情况下,执行第二方案;所述第二方案包括:将所述数据在其所在的表单中标记显示;并在标记显示后,返回执行第一方案的步骤;
S3:每次为当前行数+1,循环执行步骤S2,直至查询完所述第一表单和所述第二表单第N列的所有行;
S4:依次执行步骤S1、步骤S2,查询所述第一表单和所述第二表单的第N+1列的所有行的数据;
S5:每次为当前列数+1,循环执行步骤S4,直至查询完所述第一表单和所述第二表单中的所有列。
在本发明实施例中,首先进入步骤S1:判断位于第一表单中第N(1≤N≤第一表单的列数)列第M(1≤M≤第一表单的行数)行的第一数据,与第二表单对应的第N列第M行的第二数据是否相同。具体地,可以首先从N=1和M=1开始,即判断位于第一表单第1列第1行的第一数据与位于第二表单第1列第1行的第二数据是否相同。
进入步骤S2:根据步骤S1的判断结果,可以分两种方案执行。若第一数据与第二数据相同,执行第一方案,即为当前行数+1,继续对第一表单中第一数据和第二表单中第二数据各自对应的下一个数据进行比较。具体地,可以对所述第一表单第1列第2行的第三数据和所述第二表单对应第1列第2行的第四数据进行比较。若比较结果仍旧相同,则继续为当前行数+1,对第一表单中第三数据和第二表单中第四数据各自对应的下一个数据进行比较。在比较过程中,若判断出两个数据有差异,则执行第二方案,即:将所述差异数据在其所在的表单中标记显示;在标记显示后,返回执行第一方案的步骤。即为当前行数+1,继续对第一表单中第一数据和第二表单中第二数据各自对应的下一个数据进行比较。
进入步骤S3:每次为当前行数+1,循环执行步骤S2,直至查询完所述第一表单和所述第二表单第N列的所有行。具体地,若第一表单的行数少于第二表单,可以在查询完第一表单的所有行之后停止查询,并将所述第二表单剩余行的单元格对应的数据均置为差异数据。若第一表单的行数多于第二表单,则可以在查询完第二表单的所有行之后停止查询,并将所述第一表单剩余行的单元格对应的数据均置为差异数据。
进入步骤S4:依次执行步骤S1、步骤S2,查询所述第一表单和所述第二表单的第N+1列的所有行的数据。
进入步骤S5:每次为当前列数+1,循环执行步骤S4,直至查询完所述第一表单和所述第二表单中的所有列。同样地,若第一表单的列数少于第二表单,可以在查询完第一表单的所有列之后停止查询,并将所述第二表单剩余列的单元格对应的数据均置为差异数据。若第一表单的列数多于第二表单,则可以在查询完第二表单的所有列之后停止查询,并将所述第一表单剩余列的单元格对应的数据均置为差异数据。
步骤103,将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。
在本发明实施例中,在步骤102中对第一表单和第二表单进行对比查询的过程中,如果查询到差异数据,则将该差异数据以预设的方式的进行标记,以方便用户直观看到哪些数据是差异数据。在标记时,根据需要,可以将两个表单中有差异的数据同时标记在第一表单和第二表单中,也可以只标记到其中一个表单中。
优选地,在所述差异数据不包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示,或,将所述差异数据通过与其所属表单数据有区别的字体、字号、颜色三者中其中至少一种进行显示;
在所述差异数据包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示。
在本发明实施例中,对于查询出来的差异数据,需要将该差异数据进行标记显示。其中,第一种方法,可以选择将差异数据所在的单元格进行标记显示;例如,可以将该单元格的整体颜色采用与原表单不同的颜色突出显示,或者可以在该单元格的四角做以颜色标记等;第二种方法,可以选择为该差异数据本身设置与所属表单数据有区别的字体、字号、颜色等,从而将差异数据与相同数据区分出来。
需要注意的是,在所述差异数据包括值为空的数据的情况下,不能使用第二种方法。因为值为空的数据所在的单元格不存在数据,即为空单元格。那么,就无法为该空单元格设置相应的字体、字号、颜色等。
实施例二
图2-1为本发明实施例二提供的一种在Excel报表文件的Visual Basic编辑器下实现的表单差异查询方法,其是本发明实施例一中的表单差异查询方法的一种优选实施方法,具体可以包括如下步骤:
步骤201,打开Excel报表文件,并将需要查询差异的第一表单和第二表单分别作为第一工作表和第二工作表放在同一个Excel工作薄中。
在本发明实施例中,例如,所述第一工作表和所述第二工作表可以分别为需要比较的“本周数据”和“上周数据”,将所述“本周数据”和“上周数据”放入同一个Excel工作薄,即如示意图2-2、示意图2-3中所示。
其中,图2-2示出了以“本周数据”作为表单名称的第一表单的示意图;图2-3示出了以“上周数据”作为表单名称的第二表单的示意图。两个表单中的第一行数据均为字段名称,两个表单中的所有数据均位于行和列的交叉处。
步骤202,在所述Excel报表文件中打开Visual Basic编辑器。
如前所述,打开Visual Basic编辑器可以有两种方法。可以在Excel菜单中找到“工具”菜单,选择“宏”,进入后再选择“Visual Basic编辑器”;也可以在键盘上输入Alt+F11快捷键,即可打开visual basic编辑页面。
如图2-4所示,示出了打开visual basic编辑器之后的页面示意图。在所述页面顶端为菜单栏,包含应用程序的开发、调试及保存等菜单命令;在菜单栏下面是工具栏,包含一些常用的快捷按钮;页面左侧是工具箱,放置了各种控件;页面中间的空白区域为窗体设计器窗口,用来编辑、设计程序。另外,在页面上还包括工程资源管理器窗口、属性窗口、窗体布局窗口等。
步骤203,在所述visual basic编辑器的编辑页面输入表单差异查询方法的程序代码。
在本发明实施例中,图2-5示出了visual basic编辑器的编辑页面示意图。具体地,可以双击窗体设计器窗口(即图2-4中虚线框内的区域)的位置选项,在窗体设计器窗口的“通用”字样下面的编辑框中输入程序代码。
根据本发明实施例中所述表单差异查询方法中S1-S5的方法步骤,可以设计相应程序代码。以下为根据S1-S5的方法步骤编写的示例代码:
Sub数据对比()
需要说明的是,上述代码仅是本发明目的的代码实现方法之一,本领域技术人员根据实际情况在本发明主旨上编写的其他实现代码,也在本发明保护范围之内。
步骤204,在所述visual basic编辑器中运行所述程序代码。
步骤205,在所述第一表单和/或第二表单中查看运行结果。
在本发明实施例中,图2-7示出了visual basic编辑器的运行结果页面示意图。在图2-7中,被填充为黑色的单元格即为差异数据所在的单元格。
综上所述,在本发明实施例中,通过调用第一表单和第二表单,再基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异,最后将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。上述方法可以在终端设备上直接通过编程实现,不需要使用第三方差异分析软件,避免了表单中数据的泄露风险;并且上述方法可以一次性实现整个表单数据的差异对比,准确高效,提高了工作效率。
另外,通过在Excel报表文件的Visual Basic编辑器中运行代码查询第一表单和第二表单的差异,免去了使用其他编程工具需要调用第一表单和第二表单的步骤,可以快速、准确的查询出第一表单和第二表单的差异数据,该方法简单快捷,安全可靠。
实施例三
参照图3,示出了本发明实施例三中的一种表单差异查询装置300的结构框图,具体可以包括:
调用模块301,用于调用第一表单和第二表单;
查询模块302,用于基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异;
显示模块303,用于将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。
优选地,所述装置300还包括:
打开模块,用于接收在Excel报表文件中打开VB编辑器的操作;所述Excel报表文件中包括第一工作表和第二工作表;
所述调用模块301包括:调用子模块,用于在所述VB编辑器中调用所述第一工作表和所述第二工作表。
优选地,所述查询模块302包括:
S1子模块,用于判断位于所述第一表单的第N(1≤N≤第一表单的列数)列中第M(1≤M≤第一表单的行数)行的第一数据与所述第二表单对应的第N列中第M行的第二数据是否相同;
S2子模块,用于在所述第二数据与所述第一数据相同的情况下,执行第一方案;所述第一方案包括:判断所述第一表单的第N列中第M+1行的第三数据与所述第二表单对应第N列中第M+1行的第四数据是否相同;
在所述第二数据与所述第一数据不同的情况下,执行第二方案;所述第二方案包括:将所述第二数据和/或所述第一数据在其所在的表单中标记显示;并在标记显示后,返回执行第一方案的步骤;
S3子模块,用于每次为当前行数+1,循环执行步骤S2,直至查询完所述第一表单和所述第二表单第N列的所有行;
S4子模块,用于依次执行步骤S1、步骤S2,查询所述第一表单和所述第二表单的第N+1列的所有行的数据;
S5子模块,用于每次为当前列数+1,循环执行步骤S4,直至查询完所述第一表单和所述第二表单中的所有列。
优选地,所述显示模块303包括:
第一显示子模块,用于在所述差异数据不包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示,或,将所述差异数据通过与其所属表单数据有区分的字体、字号、颜色三者中其中一种进行显示;
第二显示子模块,用于在所述差异数据包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示。
本发明实施例提供的表单差异查询装置300能够实现图1的方法实施例中表单差异查询方法实现的各个过程,为避免重复,这里不再赘述。
在本发明实施例中,通过调用第一表单和第二表单,再基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异,最后将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单。上述方法可以在终端设备上直接通过编程实现,不需要使用第三方差异分析软件,避免了表单中数据的泄露风险;并且上述方法可以一次性实现整个表单数据的差异对比,准确高效,提高了工作效率。
优选的,本发明实施例还提供一种终端设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述表单差异查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述表单差异查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (6)
1.一种表单差异查询方法,其特征在于,所述方法包括:
调用第一表单和第二表单;
基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异;
将查询到的所有差异数据标记显示于所述第一表单和/或所述第二表单;
在调用第一表单和第二表单之前,包括:
接收在Excel报表文件中打开Visual Basic编辑器的操作;所述Excel报表文件中包括第一工作表和第二工作表;
所述调用第一表单和第二表单,包括:
在所述Visual Basic编辑器中调用所述第一工作表和所述第二工作表;
所述基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异,包括:
若所述第一表单的列数少于所述第二表单,在查询完所述第一表单的所有列之后停止查询,并将所述第二表单剩余列的单元格对应的数据均置为差异数据;若所述第一表单的列数多于所述第二表单,在查询完所述第二表单的所有列之后停止查询,并将所述第一表单剩余列的单元格对应的数据均置为所述差异数据。
2.根据权利要求1所述的方法,其特征在于,所述基于第一表单的每一列数据,查询第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否相同的步骤包括:
S1:判断位于所述第一表单的第N(1≤N≤第一表单的列数)列中第M(1≤M≤第一表单的行数)行的第一数据与所述第二表单对应的第N列中第M行的第二数据是否相同;
S2:在所述第二数据与所述第一数据相同的情况下,执行第一方案;所述第一方案包括:判断所述第一表单的第N列中第M+1行的第三数据与所述第二表单对应第N列中第M+1行的第四数据是否相同;
在所述第二数据与所述第一数据不同的情况下,执行第二方案;所述第二方案包括:将所述第二数据和/或所述第一数据在其所在的表单中标记显示;并在标记显示后,返回执行第一方案的步骤;
S3:每次为当前行数+1,循环执行步骤S2,直至查询完所述第一表单和所述第二表单第N列的所有行;
S4:依次执行步骤S1、步骤S2,查询所述第一表单和所述第二表单的第N+1列的所有行的数据;
S5:每次为当前列数+1,循环执行步骤S4,直至查询完所述第一表单和所述第二表单中的所有列。
3.根据权利要求1所述的方法,其特征在于,所述将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单,包括:
在所述差异数据不包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示,或,将所述差异数据通过与其所属表单数据有区别的字体、字号、颜色三者中其中一种进行显示;
在所述差异数据包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示。
4.一种表单差异查询装置,其特征在于,所述装置包括:
调用模块,用于调用第一表单和第二表单;
查询模块,用于基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异;
显示模块,用于将查询到的所有的差异数据标记显示于所述第一表单和/或所述第二表单;
所述装置还包括:
打开模块,用于接收在Excel报表文件中打开Visual Basic编辑器的操作;所述Excel报表文件中包括第一工作表和第二工作表;
所述调用模块包括:调用子模块,用于在所述Visual Basic编辑器中调用所述第一工作表和所述第二工作表;
所述基于所述第一表单的每一列数据,查询所述第二表单的对应列中每一行的数据与所述第一表单中对应行的数据是否存在差异,包括:
若所述第一表单的列数少于所述第二表单,在查询完所述第一表单的所有列之后停止查询,并将所述第二表单剩余列的单元格对应的数据均置为差异数据;若所述第一表单的列数多于所述第二表单,在查询完所述第二表单的所有列之后停止查询,并将所述第一表单剩余列的单元格对应的数据均置为所述差异数据。
5.根据权利要求4所述的装置,其特征在于,所述查询模块包括:
S1子模块,用于判断位于所述第一表单的第N(1≤N≤第一表单的列数)列中第M(1≤M≤第一表单的行数)行的第一数据与所述第二表单对应的第N列中第M行的第二数据是否相同;
S2子模块,用于在所述第二数据与所述第一数据相同的情况下,执行第一方案;所述第一方案包括:判断所述第一表单的第N列中第M+1行的第三数据与所述第二表单对应第N列中第M+1行的第四数据是否相同;
在所述第二数据与所述第一数据不同的情况下,执行第二方案;所述第二方案包括:将所述第二数据和/或所述第一数据在其所在的表单中标记显示;并在标记显示后,返回执行第一方案的步骤;
S3子模块,用于每次为当前行数+1,循环执行步骤S2,直至查询完所述第一表单和所述第二表单第N列的所有行;
S4子模块,用于依次执行步骤S1、步骤S2,查询所述第一表单和所述第二表单的第N+1列的所有行的数据;
S5子模块,用于每次为当前列数+1,循环执行步骤S4,直至查询完所述第一表单和所述第二表单中的所有列。
6.根据权利要求4所述的装置,其特征在于,所述显示模块包括:
第一显示子模块,用于在所述差异数据不包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示,或,将所述差异数据通过与其所属表单数据有区别的字体、字号、颜色三者中其中一种进行显示;
第二显示子模块,用于在所述差异数据包括值为空的数据的情况下,将所述差异数据所在的单元格进行标记显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614062.6A CN109828985B (zh) | 2018-12-27 | 2018-12-27 | 一种表单差异查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614062.6A CN109828985B (zh) | 2018-12-27 | 2018-12-27 | 一种表单差异查询方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828985A CN109828985A (zh) | 2019-05-31 |
CN109828985B true CN109828985B (zh) | 2021-06-25 |
Family
ID=66860561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614062.6A Active CN109828985B (zh) | 2018-12-27 | 2018-12-27 | 一种表单差异查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828985B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329388A (zh) * | 2020-11-30 | 2021-02-05 | 深圳集智数字科技有限公司 | 一种数据展示方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801197A (zh) * | 2005-01-07 | 2006-07-12 | 环隆电气股份有限公司 | 差异数据整合比较方法 |
CN101807207A (zh) * | 2010-03-22 | 2010-08-18 | 北京大用科技有限责任公司 | 一种基于内容差异比较的文档共享方法 |
CN102200968A (zh) * | 2011-05-30 | 2011-09-28 | 深圳市五巨科技有限公司 | 一种excel表格数据排重的方法和装置 |
CN105740465A (zh) * | 2016-03-04 | 2016-07-06 | 浪潮软件集团有限公司 | 一种灵活的自定义比对方法 |
-
2018
- 2018-12-27 CN CN201811614062.6A patent/CN109828985B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801197A (zh) * | 2005-01-07 | 2006-07-12 | 环隆电气股份有限公司 | 差异数据整合比较方法 |
CN101807207A (zh) * | 2010-03-22 | 2010-08-18 | 北京大用科技有限责任公司 | 一种基于内容差异比较的文档共享方法 |
CN102200968A (zh) * | 2011-05-30 | 2011-09-28 | 深圳市五巨科技有限公司 | 一种excel表格数据排重的方法和装置 |
CN105740465A (zh) * | 2016-03-04 | 2016-07-06 | 浪潮软件集团有限公司 | 一种灵活的自定义比对方法 |
Non-Patent Citations (2)
Title |
---|
"https://zhidao.***.com/question2015351486776373588.html";ynzsvt;《百度经验》;20170825;第1-2页 * |
"也谈比较两个表格的异同";陈秀峰;《电脑爱好者》;20040229;第50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109828985A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6948134B2 (en) | Integrated method for creating a refreshable Web Query | |
US9075787B2 (en) | Defining a reusable spreadsheet-function by extracting the function from a complex calculation in a spreadsheet document | |
US7117430B2 (en) | Spreadsheet error checker | |
EP0211151B1 (en) | Procedure for controlling the order of editing cells in a spreadsheet | |
CN109710237A (zh) | 一种基于自定义二维报表的在线修改校验方法及设备 | |
US20130290837A1 (en) | Method and Apparatus for Correcting Document Formatting Based on Source Document | |
CN109992750B (zh) | 表格对象筛选方法、装置、电子设备及存储介质 | |
CN109828985B (zh) | 一种表单差异查询方法和装置 | |
CN115114146A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN112558969A (zh) | 一种网页表单生成方法、装置、设备及介质 | |
CN109992759B (zh) | 表格对象编辑方法、装置、电子设备及存储介质 | |
EP3987410A1 (en) | Systems and methods to facilitate rapid data entry for document review | |
CN115562665A (zh) | 页面访问方法、装置、计算机设备及可读存储介质 | |
CN114090611A (zh) | 一种端子接线表生成电缆清册的方法、装置及电子设备 | |
US10101880B2 (en) | Tools on-demand | |
CN108363779A (zh) | 一种批量AutoCAD文件智能***块的方法 | |
CN113553798B (zh) | 一种图章***方法、装置、电子设备及存储介质 | |
CN115982121A (zh) | 一种核电dcs安全控制显示装置数据库生成方法和装置 | |
KR20170050338A (ko) | 데이터 구조화 방법 | |
US9773087B2 (en) | Method and system for creating a device layout | |
CN115688679A (zh) | 基于rpa的网页内嵌文档的处理方法及装置 | |
Hoppe et al. | Excel Manual: For Introduction to the Practice of Statistics 4e | |
CN118051207A (zh) | 针对政务服务的用户需求说明书的生成方法和装置 | |
CN115543288A (zh) | 代码信息的生成方法、装置、设备及存储介质 | |
CN113722561A (zh) | 一种SSCs结构显示方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |