CN106933899A - 表格处理方法及装置 - Google Patents
表格处理方法及装置 Download PDFInfo
- Publication number
- CN106933899A CN106933899A CN201511031647.1A CN201511031647A CN106933899A CN 106933899 A CN106933899 A CN 106933899A CN 201511031647 A CN201511031647 A CN 201511031647A CN 106933899 A CN106933899 A CN 106933899A
- Authority
- CN
- China
- Prior art keywords
- field value
- rule template
- read
- rules variables
- rules
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种表格处理方法实施例,本实施例在获取到待处理表格后,首先确定待处理表格对应的规则模板,并扫描该规则模板,从而获得该规则模板中包含的规则变量,并确定出规则变量在规则模板中的位置,根据规则变量在规则模板中的位置,确定出待读取字段值在待处理表格中的位置,并在该位置处读取字段值,进而将读取到的字段值保存为依据规则模板生成的表格对象中属性的属性值,从而将待处理表格转换为实例化后的表格对象。另外,本申请还提供了一种表格处理装置实施例,用以保证上述方法在实际中的应用及实现。
Description
技术领域
本申请涉及表格处理技术领域,更具体地,是表格处理方法及装置。
背景技术
目前,在某些行业中,通常使用表格来记录业务数据。记录有业务数据的表格可以被保存到数据库的数据表中,以实现业务数据的存储。
需要说明的是,在保存包含业务数据的表格前,需要将表格转换为与数据表对应的对象,因此需要一种表格处理方法,来将表格转化为对象。
发明内容
有鉴于此,本申请提供了一种表格处理方法,用以将待处理表格转化为对象。另外,本申请还提供了一种表格处理装置,用以保证所述方法在实际中的应用及实现。
为实现所述目的,本申请提供的技术方案如下:
本申请的第一方面提供了一种表格处理方法,包括:
获取到待处理表格后,确定与所述待处理表格对应的规则模板;其中,所述规则模板中包含若干字段,且每个字段具有各自对应的规则变量;
扫描所述规则模板,以确定所述规则模板中包含的规则变量及规则变量在所述规则模板中的第一位置;
依据所述规则变量在所述规则模板中的第一位置,确定待读取字段值在所述待处理表格中的第二位置,并读取所述第二位置处的字段值;其中,所述待读取字段值为所述规则变量对应的字段的字段值;
在预生成的表格对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值,获得目标表格对象。
本申请的第二方面提供了一种表格处理装置,包括:
规则模板确定模块,用于获取到待处理表格后,确定与所述待处理表格对应的规则模板;其中,所述规则模板中包含若干字段,且每个字段具有各自对应的规则变量;
规则模板扫描模块,用于扫描所述规则模板,以确定所述规则模板中包含的规则变量及规则变量在所述规则模板中的第一位置;
字段值读取模块,用于依据所述规则变量在所述规则模板中的第一位置,确定待读取字段值在所述待处理表格中的第二位置,并读取所述第二位置处的字段值;其中,所述待读取字段值为所述规则变量对应的字段的字段值;
对象保存字段值模块,用于在预生成的表格对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值,获得目标表格对象。
由以上技术方案可知,本申请提供了一种表格处理方法实施例,本实施例在获取到待处理表格后,首先确定待处理表格对应的规则模板,并扫描该规则模板,从而获得该规则模板中包含的规则变量,并确定出规则变量在规则模板中的位置,根据规则变量在规则模板中的位置,确定出待读取字段值在待处理表格中的位置,并在该位置处读取字段值,进而将读取到的字段值保存为依据规则模板生成的表格对象中属性的属性值,从而将待处理表格序列化为表格对象。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的表格处理方法实施例1的流程图;
图2为本申请提供的待处理表格的一个示例图;
图3为本申请提供的规则模板的一个示例图;
图4为本申请提供的表格处理方法实施例2的流程图;
图5为本申请提供的表格子对象的一个示例图;
图6为本申请提供的表格对象的一个示例图;
图7为本申请提供的表格处理装置实施例1的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,其示出了本申请提供的表格处理方法实施例1的流程。如图1所示,本实施例可以具体包括步骤S101~步骤S104。
步骤S101:获取到待处理表格后,确定与待处理表格对应的规则模板;其中,规则模板中包含若干字段,且每个字段具有各自对应的规则变量。
在实施前,预先设置若干规则模板,规则模板是根据待处理表格的样式设置的。也就是说,确定有哪些个待处理表格,根据此些个待处理表格,分别设置各自对应的规则模板。待处理表格中包含若干字段,规则模板中也设置相同的字段。
例如,针对图2示出的待处理表格,设置的规则模板如图3所示。图2所示的待处理表格中包含有字段“账套”、“科目”、“期间”、“日期”、“凭证编号”、“摘要”、“借方”、“贷方”、“方向”及“余额”。相应地,图3所示的规则模板中同样包含此些字段。
需要说明的是,规则模板中除了包含与待处理表格相同的字段外,每个字段还对应地设置有规则变量。如图3所示,字段“账套”对应的规则变量为“$v{zwName}”,科目对应的规则变量为“$v{km}”等。当然,本领域技术人员可以理解并期望规则变量的其他表示形式,而不脱离本申请的保护范围。
规则变量的名称是与目标对象中的属性名称对应的,从而可以根据规则变量的名称,在目标对象中唯一确定某个属性,具体内容详见以下步骤S104的说明。
另外,规则模板可以具有模板名称,模板名称中可以包含关键字。例如图3所示的规则模板的模板名称为“广东远光软件股份有限公司明细账”,其中包含的关键字为“远光软件”。当然,本领域技术人员可以理解并期望模板名称的其他实现方式,而不脱离本申请的保护范围。
在设置上述形式的规则模板后,便可以依据规则模板对表格进行转换。首先,在接收到待处理表格后,可以依据待处理表格的名称,在预先设置的规则模板中,查找与该待处理表格对应的规则模板。
具体地,待处理表格具有表格名称,从表格名称中可以提取关键字,根据提取到的关键字,在规则模板的模板名称的关键字中查找与提取到的关键字相同的关键字,查找到的关键字对应的规则模板,便是待处理表格对应的规则模板。如图2所示的待处理表格,从该待处理表格的名称中可以提取到关键字“远光软件”,进而便可以依据该关键字,查找到如图3所示的规则模板。
当然,规则模板的模板名称可以是与待处理表格的表格名称一一对应的,这样,在接收到待处理表格后,可以仅仅使用待处理表格的名称,便可以查找到与该待处理表格对应的规则模板。或者,本领域技术人员可以理解并期望使用其他方式来查找待处理表格对应的规则模板,而不脱离本申请的保护范围。
步骤S102:扫描规则模板,以确定规则模板中包含的规则变量及规则变量在规则模板中的第一位置。
其中,在查找到规则模板后,解析该规则模板,以获得其中包含的规则变量,以及获得每个规则变量在规则模板中的位置,为了便于与待处理表格中的位置区分,将规则模板中的位置称为第一位置。其中,第一位置可以是单元格的位置。当然,该单元格可以是普通单元格,也可以是经过合并的合并单元格。第一位置的表示方式可以是行号及列号的组合,例如,B4可以表示图3中的4行B列。
例如,扫描图3所示的规则模板后,可以获得规则变量$v{zwName},并可以确定该规则变量的第一位置为B4,即表格中的4行B列。
本步骤的一种具体实现方式为:逐行逐列扫描规则模板的各个单元格,以查找规则模板中包含的规则变量,并记录规则变量在规则模板中的第一位置。
步骤S103:依据规则变量在规则模板中的第一位置,确定待读取字段值在待处理表格中的第二位置,并读取第二位置处的字段值;其中,待读取字段值为规则变量对应的字段的字段值。
其中,预先设置规则变量在规则模板中的位置,与字段值在待处理表格中的位置之间的对应关系。或者,对应关系可以称为确定规则,即:根据规则变量在规则模板中的位置,来确定字段值在待处理表格中的位置,为了便于与上述第一位置区分,将待处理表格中的位置称为第二位置。
由以上可知,规则变量是规则模板中的字段对应的,此种对应表现为,规则变量所在的位置为字段的字段值的位置。并且,规则模板中的字段与待处理表格中的字段相同,因此,规则变量的位置用来表示该规则变量对应的字段的字段值在待处理表格中的位置。该字段值可以称为待读取字段值,进一步地,在待处理表格中,读取待读取字段值。
如图3所示,规则变量$v{zwName}在规则模板中的位置为4行B列,根据该位置,确定出待读取字段值在图2所示的待处理表格中的位置为4行B列,从而读取4行B列的字段值“演示账套2015”。
可以理解的是,表格通常包含表格头及明细两部分。若规则变量位于规则模板中的不同部分,则确定待读取字段在待处理表格中的位置的方式也不同。
其中,针对表格头部分的规则变量可以使用以下规则,即:规则模板中表格头部分的规则变量的位置,可以直接确定为待读取字段值在待处理表格中的位置。例如,图3所示的规则模板中,表格头部分的规则变量包括$v{zwName}、$v{km}及$v{zwymd}。此些规则变量在规则模板中的位置,即待读取字段在图2所示的待处理表格中的位置,如规则变量$v{zwName}的位置为4行B列,则待读取字段值也在4行B列。
针对明细部分的规则变量,可以使用循环递增的方式来确定各个待读取字段值在待处理表格中的位置,即使用规则变量的位置来确定首个待读取字段在待处理表格中的位置,再依次递增某个间隔,循环读取明细部分的字段值,直至读取完毕明细部分的字段值。更详细的说明参见下文,此处并不赘述。
步骤S104:在预生成的表格对象中,确定规则变量对应的目标属性,并将读取到的字段值确定为目标属性的属性值,获得目标表格对象。
其中,步骤S101可以确定出规则模板,进一步可以为该规则模板生成一个对象,用来保存从待处理表格中读取到的字段值。可选地,对象可以是但不限定于POJO对象(Plain Ordinary Java Object,普通Java对象)。
生成的对象可以称为表格对象,表格对象具有若干属性,将读取到的字段值作为表格对象的属性的属性值,便实现了将待处理表格的字段值转化为对象的目的。
具体来讲,表格对象的属性是与规则模板中的规则变量对应的,此种对应可以表现在名称上,例如规则变量的名称为$v{zwName},表格对象中包含一个属性的名称为zwName,两者的名称中都包含关键字“zwName”。
从而,在根据规则变量读取到字段值后,可以根据规则变量的名称,在表格对象中查找到与该规则变量对应的属性(查找到的属性可以称为目标属性),并将读取到的字段值作为此属性的属性值。这样,待处理的表格便转化为实例化后的表格对象。
由以上技术方案可知,本申请提供了一种表格处理方法实施例,本实施例在获取到待处理表格后,首先确定待处理表格对应的规则模板,并扫描该规则模板,从而获得该规则模板中包含的规则变量,并确定出规则变量在规则模板中的位置,根据规则变量在规则模板中的位置,确定出待读取字段值在待处理表格中的位置,并在该位置处读取字段值,进而将读取到的字段值保存为依据规则模板生成的表格对象中属性的属性值,从而将待处理表格序列化为表格对象。
另外,本实施例的执行模块并非以浏览器控件的形式提供给用户,例如,可以作为JAVA Web服务组件(或OSGI服务组件)以统一服务的形式提供给前端用户。这样,用户并不需要在浏览器中安装控件,从而可以避免浏览器崩溃的问题。
需要说明的是,以上实施例中,步骤S102中获取到的规则变量可能是多个,也可能是多个。在规则变量为多个的情况下,可以是每当步骤S102获取到一个规则变量,便执行步骤S103及步骤S104确定为属性值的过程,在所有的规则变量均执行完毕确定为属性值的过程后,便获得目标表格对象,即实例化后的表格对象。
当然,在规则变量为多个的情况下,也可以是步骤S102一次性获得全部的规则变量,再执行步骤S103读取所有的字段值,再执行步骤S104将所有的字段值确定为属性值,从而获得目标表格对象,即实例化后的表格对象。
在实际应用中,待处理表格中可能不仅包含字符串、数值、时间等基本类型的数据,还可能包括图片类型的数据,如二维码、条形码等。为了能在待处理表格中读取图片类型的数据,需要注册相应的数据类型的适配器,从而,若待读取字段值为图片类型的数据,则调用相应的数据类型的适配器,触发适配器读取图片类型的数据。当然,对于其他类型的数据,也可以注册相应的适配器,以实现对其他类型数据的读取。
具体地,注册适配器时需要实现适配器的接口,返回该数据类型的关键词及接口方法decode的解码实现。例如,注册图片类型的数据的适配器时,返回数据类型关键字“BACODE”以及实现自定义数据类型解码用的接口方法“decode”。
其中,数据类型识别关键字可以包含在规则变量的名称中,实现对自定义数据类型字段值的读取要求。数据读取时,通过识别"BACODE"数据类型关键字,检索数据类型适配器实例并调用其decode接口方法完成对特殊数据类型如条形码的解码工作。
例如,规则模板中包含某个规则变量${vo.field,’BACODE’},该规则变量中包含关键字“BACODE”,因此,便可以调用该关键字对应的适配器,实现对二维码等图片的读取。
以上表格处理方法实施例为表格转化为对象的过程,将待处理表格转化为对象后,可以进一步将对象保存到预设系统中,该过程可以称为数据持久化。参见图2,本申请提供了表格处理方法实施例2。如图4所示,本实施例在图1所示的数据表格处理方法实施例1的基础上,还可以包括步骤S105。
需要说明的是,本实施例仅对步骤S105进行说明,其他步骤可以参见上述表格处理方法实施例1中的说明。
步骤S105:将目标表格对象导入到预设数据表中。
其中,预设数据表中包含与目标表格对象的属性对应的字段,分别提取目标表格对象的各个属性的属性值,并将属性值保存为预设数据表中对应字段的字段值。可选地,导入的工具可以使用但不限定于ORM工具,如Hibernate、JPA等。
需要说明的是,目标表格对象中的属性的名称可以不与预设数据表中的字段的名称相同,从而避免数据表中的字段直接暴露给业务配置人员,提高了数据表的安全性。
需要说明的是,若目标表格对象与预设数据表对应的系统不一致时,需要使用自定义数据模型映射处理器完成表格转换。例如,若生成的目标表格对象JAVA POJO与ORM POJO模型不一致时,则需要新建ORM对应的POJO模型,同时需要提供数据模型映射处理器的实现,并在注册界面上注册与具体规则模板匹配的数据模型映射处理器实现类。
在实际应用中,上述表格处理方法实施例1中步骤S103(依据规则变量在规则模板中的第一位置,确定待读取字段值在待处理表格中的第二位置)的具体实现方式包括以下步骤A1及步骤A2。
步骤A1:若规则变量未位于循环控制区域内,则将规则变量在规则模板中的第一位置,确定为待读取字段值在待处理表格中的第二位置;其中,循环控制区域由循环开始标识符所在的位置及循环结束标识符所在的位置构成。
其中,在扫描规则模板时,可以在规则模板中扫描到循环开始标识符及循环结束标识符。循环开始标识符及循环结束标识符构成的区域为循环控制区域,更简单地讲,循环控制区域即表格中的明细区域。
对于未出现在循环控制区域中的规则变量,可以直接将规则变量在规则模板中的位置,确定为待读取字段值在待处理表格中的位置。
例如,在图3所示的规则模板中,扫描到的循环开始标识符为“#foreach#”,扫描到的循环结束标识符为“#end#”。循环开始标识符“#foreach#”及循环结束标识符“#end#”构成的区域即循环控制区域。规则变量$v{zwName}并未出现在循环控制区域内,从而,可以将规则变量$v{zwName}的位置4行B列确定为待读取字段在待读取表格中的位置。
步骤A2:若规则变量位于循环控制区域内,则将规则变量在规则模板中的第一位置与循环开始标识符占据的表格空间之差,确定为待读取字段在待处理表格中的首个第二位置。
其中,在循环控制区域内出现的规则变量,需要循环读取对应的字段的字段值。可以理解的是,为了循环读取,需要确定待读取字段在待处理表格中的首个位置以及循环递增的间隔。
其中,待读取字段在待处理表格中的首个位置的确定方式是,规则变量的位置与循环开始标识符占据的表格空间之差。例如,在图3所示的规则模板中,规则变量$v{rec.ymd}位于循环控制区域内,该规则变量的位置为8行A列,循环开始标识符“#foreach#”占据的表格空间为1行,两者之差为7行A列,从而便将7行A列确定为规则变量$v{rec.ymd}对应的字段的字段值在待处理表格中的首个位置。如图2所示的待处理表格,在7行A列读取到的字段值为空。
在确定待读取字段在待处理表格中的首个第二位置后,读取第二位置处的字段值的具体实现方式包括以下步骤A21及步骤A22。
步骤A21:若规则变量位于循环控制区域内,则确定规则变量在待处理表格中所占据的表格空间的行数。
其中,确定规则变量在待处理表格中占据的表格空间的行数的方式可以是,在扫描规则模板时,扫描到循环开始标识符后,记录循环开始标识符的行位置,并一直扫描循环结束标识符,并记录循环结束标识符的行位置,依据循环结束标识符的行位置及循环开始标识符的行位置,便可以确定规则变量所占据的行数,具体地,可以是循环结束标识符的行位置与循环开始标识符的行位置之差再减去1。
例如,在图3所示的规则模板中,规则变量$v{rec.ymd}在循环控制区域内,循环开始标识符的行位置为7行,循环结束标识符的行位置为9行,循环结束标识符的行位置与循环开始标识符的行位置之差再减去1后为1,则可以确定规则变量$v{rec.ymd}占据的行数为1。
步骤A22:读取首个第二位置处的字段值后,以首个第二位置为开始位置点,并将行数作为行递增间隔,循环读取待读取字段值在待处理表格中的位置处的字段值。
如上,对于循环控制区域内的规则变量,在待处理表格中首个第二位置读取规则变量对应的待读取字段值后,需要循环读取后续各个第二位置处的待读取字段值。例如,在图2所示的待处理表格中,读取7行A列的字段值后,还需要读取8行A列、9行A列、10行A列的字段值。
循环读取时,以待读取字段值在待处理表格中的首个第二位置为开始点,以上述步骤A21确定的行数作为循环递增的行数,进行循环读取。以图2所示的待读取表格为例说明,为待读取字段确定的首个第二位置为7行A列,步骤A21确定的行数为1,则以1行为循环递增间隔,分别读取8行A列、9行A列、10行A列的字段值,分别读取到的字段值为“2015.01.06”、“2015.01.07”及“2015.01.07”。
以上说明了循环控制区域内的某一个规则变量对应的待读取字段值的位置的确定方式,对于其他的规则变量,也同样按照该种方式确定。当然,循环控制区域内有多个规则变量时,可以在一次循环过程中,依次读取每个规则变量对应的字段的字段值,读取完毕各个规则变量对应的字段值后,开始下一次循环过程,再依次读取每个规则变量对应的字段的字段值。
以图2所示的规则模板及图3所示的待处理表格为例进行说明。图3所示的规则模板中的循环控制区域内包含7个规则变量,分别为“$v{rec.ymd}”、“$v{rec.pzh}”、“$v{rec.zy}”、“$v{rec.jfje}”、“$v{rec.dfje}”、“$v{rec.fx}”及“$v{rec.ye}”。在图2所示的待处理表格中读取字段值时,首先在第7行依次读取各个规则变量对应的字段的字段值,读取完毕后,再进入第8行依次读取各个规则变量对应的字段的字段值。
在待处理表格中,读取完毕循环控制区域内的字段值后,可以将循环区域内的字段值保存在表格子对象中,表格子对象作为表格对象中的列表类型属性的属性值。
具体地,若规则变量位于循环控制区域内,则上述表格处理方法实施例1中步骤S104(在预生成的表格对象中,确定规则变量对应的目标属性,并将读取到的字段值确定为目标属性的属性值)的具体实现方式包括以下步骤C1及步骤C2。
步骤C1:若规则变量位于循环控制区域内,生成表格子对象;其中,表格子对象包含在表格对象中。
其中,若从规则模板中扫描到的规则变量位于循环控制区域内,则生成表格子对象。表格子对象中包含若干属性,属性分别与规则模板中循环控制区域内的字段对应。
表格子对象的一个示例可以参见图5。如图5所示,表格子对象中包含属性ymd、pzh、zy、jfje及dfje,此些属性分别与规则模板中循环控制区域内的字段日期、凭证编号、摘要、借方及贷方对应。
需要说明的是,表格子对象包含在依据规则模板生成的表格对象中。可以理解的是,表格对象表示整个待处理表格,表格子对象表示待处理表格的明细部分。
表格对象的一个示例可以参见图6。如图6所示,表格对象中包含的一个属性为MxzDetail,该属性为列表类型,表格子对象可以作为列表中的列表项。
在待处理表格中循环读取一次字段值,将此次循环读取到的字段值保存到一个表格子对象中,再将该表格子对象保存到表格对象中。在待处理表格中下一次循环读取字段值后,同样将该下一次循环读取到的字段值保存到另一表格子对象中,再将该表格子对象保存到表格对象中。
步骤C2:在表格子对象中,确定规则变量对应的目标属性,并将读取到的字段值确定为目标属性的属性值。
由以上可知,表格子对象中的属性与循环控制区域内的规则变量具有对应关系,因此,循环控制区域内的规则变量对应的字段的字段值,可以保存到规则变量对应的属性中,即保存为目标属性的属性值。
对于上述各个表格处理方法实施例,进行如下几点说明。
第一,在实际应用中,待处理表格的循环控制区域之后,还可能存在后续待读取字段。例如,假设在图2所示的待处理表格的明细部分的后两行开始,还存在另一明细部分。因此,在循环结束标识符中可以添加需要跳过的表格空间,如#end(nextRefRowCount=2)#,以表示在循环读取结束后,跳过相应地表格空间如2行,再次进行循环读取。
第二,构成循环控制区域的循环开始标识符及循环结束标识符并非规则变量,其在规则模板中占据的空间,并不能影响待处理表格中待读取字段的字段值的位置。
第三,对于某些特殊类型的待读取字段值,如二维码等图片,需要调用预先注册的适配器进行读取。当然,使用适配器进行读取的待读取字段值的规则变量具有相应的关键字进行标记。例如,规则变量中包含关键字BACODE,则表示需要调用注册的适配器读取字段值。
以下对本申请提供的表格处理装置进行介绍,需要说明的是,下文有关表格处理装置的说明可以参见上文提供的表格处理方法,以下并不赘述。
与上述表格处理方法实施例1相对应,本申请提供了一种表格处理装置实施例1。如图7所示,本实施例可以包括:规则模板确定模块701、规则模板扫描模块702、字段值读取模块703及对象保存字段值模块704。
规则模板确定模块701,用于获取到待处理表格后,确定与待处理表格对应的规则模板;其中,规则模板中包含若干字段,且每个字段具有各自对应的规则变量;
规则模板扫描模块702,用于扫描规则模板,以确定规则模板中包含的规则变量及规则变量在规则模板中的第一位置;
字段值读取模块703,用于依据规则变量在规则模板中的第一位置,确定待读取字段值在待处理表格中的第二位置,并读取第二位置处的字段值;其中,待读取字段值为规则变量对应的字段的字段值;
对象保存字段值模块704,用于在预生成的表格对象中,确定规则变量对应的目标属性,并将读取到的字段值确定为目标属性的属性值,获得目标表格对象。
由以上技术方案可知,本申请提供了一种表格处理装置实施例,本实施例规则模板确定模块701在获取到待处理表格后,首先确定待处理表格对应的规则模板,规则模板扫描模块702扫描该规则模板,从而获得该规则模板中包含的规则变量,并确定出规则变量在规则模板中的位置,字段值读取模块703根据规则变量在规则模板中的位置,确定出待读取字段值在待处理表格中的位置,并在该位置处读取字段值,进而对象保存字段值模块704将读取到的字段值保存为依据规则模板生成的表格对象中属性的属性值,从而将待处理表格转换为实例化后的表格对象。
可选地,上述的表格处理装置还包括:对象导入模块。
对象导入模块,用于将目标表格对象导入到预设数据表中。
可选地,规则模板扫描模块包括:规则模板扫描子模块。
规则模板扫描子模块,用于逐行逐列扫描规则模板的各个单元格,以查找规则模板中包含的规则变量,并记录规则变量在规则模板中的第一位置。
可选地,所述字段值读取模块包括:
位置确定子模块,用于依据所述规则变量在所述规则模板中的第一位置,确定待读取字段值在所述待处理表格中的第二位置;
字段值读取子模块,用于读取所述第二位置处的字段值;
其中,所述位置确定子模块包括:
第一位置确定单元,用于若所述规则变量未位于循环控制区域内,则将所述规则变量在所述规则模板中的第一位置,确定为待读取字段值在所述待处理表格中的第二位置;其中,所述循环控制区域由循环开始标识符所在的位置及循环结束标识符所在的位置构成;
第二位置确定单元,用于若所述规则变量位于循环控制区域内,则将所述规则变量在所述规则模板中的第一位置与所述循环开始标识符占据的表格空间之差,确定为待读取字段在所述待处理表格中的首个第二位置。
可选地,所述字段值读取子模块包括:
递增行数确定单元,用于若所述规则变量位于循环控制区域内,则确定所述规则变量在所述待处理表格中所占据的表格空间的行数;
字段值循环读取单元,用于读取所述首个第二位置处的字段值后,以所述首个第二位置为开始位置点,并将所述行数作为行递增间隔,循环读取待读取字段值在所述待处理表格中的位置处的字段值。
可选地,所述对象保存字段值模块包括:
表格子对象生成子模块,用于若所述规则变量位于循环控制区域内,生成表格子对象;其中,所述表格子对象包含在所述表格对象中;
表格子对象保存子模块,用于在所述表格子对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种表格处理方法,其特征在于,包括:
获取到待处理表格后,确定与所述待处理表格对应的规则模板;其中,所述规则模板中包含若干字段,且每个字段具有各自对应的规则变量;
扫描所述规则模板,以确定所述规则模板中包含的规则变量及规则变量在所述规则模板中的第一位置;
依据所述规则变量在所述规则模板中的第一位置,确定待读取字段值在所述待处理表格中的第二位置,并读取所述第二位置处的字段值;其中,所述待读取字段值为所述规则变量对应的字段的字段值;
在预生成的表格对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值,获得目标表格对象。
2.根据权利要求1所述的表格处理方法,其特征在于,还包括:
将所述目标表格对象导入到预设数据表中。
3.根据权利要求1所述的表格处理方法,其特征在于,所述扫描所述规则模板,以确定所述规则模板中包含的规则变量及规则变量在所述规则模板中的第一位置,包括:
逐行逐列扫描所述规则模板的各个单元格,以查找所述规则模板中包含的规则变量,并记录所述规则变量在所述规则模板中的第一位置。
4.根据权利要求1所述的表格处理方法,其特征在于,所述依据所述规则变量在所述规则模板中的第一位置,确定待读取字段值在所述待处理表格中的第二位置,包括:
若所述规则变量未位于循环控制区域内,则将所述规则变量在所述规则模板中的第一位置,确定为待读取字段值在所述待处理表格中的第二位置;其中,所述循环控制区域由循环开始标识符所在的位置及循环结束标识符所在的位置构成;
若所述规则变量位于循环控制区域内,则将所述规则变量在所述规则模板中的第一位置与所述循环开始标识符占据的表格空间之差,确定为待读取字段在所述待处理表格中的首个第二位置。
5.根据权利要求4所述的表格处理方法,其特征在于,所述读取所述第二位置处的字段值,包括:
若所述规则变量位于循环控制区域内,则确定所述规则变量在所述待处理表格中所占据的表格空间的行数;
读取所述首个第二位置处的字段值后,以所述首个第二位置为开始位置点,并将所述行数作为行递增间隔,循环读取待读取字段值在所述待处理表格中的位置处的字段值。
6.根据权利要求5所述的表格处理方法,其特征在于,所述在预生成的表格对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值,包括:
若所述规则变量位于循环控制区域内,生成表格子对象;其中,所述表格子对象包含在所述表格对象中;
在所述表格子对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值。
7.一种表格处理装置,其特征在于,包括:
规则模板确定模块,用于获取到待处理表格后,确定与所述待处理表格对应的规则模板;其中,所述规则模板中包含若干字段,且每个字段具有各自对应的规则变量;
规则模板扫描模块,用于扫描所述规则模板,以确定所述规则模板中包含的规则变量及规则变量在所述规则模板中的第一位置;
字段值读取模块,用于依据所述规则变量在所述规则模板中的第一位置,确定待读取字段值在所述待处理表格中的第二位置,并读取所述第二位置处的字段值;其中,所述待读取字段值为所述规则变量对应的字段的字段值;
对象保存字段值模块,用于在预生成的表格对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值,获得目标表格对象。
8.根据权利要求7所述的表格处理装置,其特征在于,还包括:
对象导入模块,用于将所述目标表格对象导入到预设数据表中。
9.根据权利要求7所述的表格处理装置,其特征在于,所述规则模板扫描模块包括:
规则模板扫描子模块,用于逐行逐列扫描所述规则模板的各个单元格,以查找所述规则模板中包含的规则变量,并记录所述规则变量在所述规则模板中的第一位置。
10.根据权利要求7所述的表格处理装置,其特征在于,所述字段值读取模块包括:
位置确定子模块,用于依据所述规则变量在所述规则模板中的第一位置,确定待读取字段值在所述待处理表格中的第二位置;
字段值读取子模块,用于读取所述第二位置处的字段值;
其中,所述位置确定子模块包括:
第一位置确定单元,用于若所述规则变量未位于循环控制区域内,则将所述规则变量在所述规则模板中的第一位置,确定为待读取字段值在所述待处理表格中的第二位置;其中,所述循环控制区域由循环开始标识符所在的位置及循环结束标识符所在的位置构成;
第二位置确定单元,用于若所述规则变量位于循环控制区域内,则将所述规则变量在所述规则模板中的第一位置与所述循环开始标识符占据的表格空间之差,确定为待读取字段在所述待处理表格中的首个第二位置。
11.根据权利要求10所述的表格处理装置,其特征在于,所述字段值读取子模块包括:
递增行数确定单元,用于若所述规则变量位于循环控制区域内,则确定所述规则变量在所述待处理表格中所占据的表格空间的行数;
字段值循环读取单元,用于读取所述首个第二位置处的字段值后,以所述首个第二位置为开始位置点,并将所述行数作为行递增间隔,循环读取待读取字段值在所述待处理表格中的位置处的字段值。
12.根据权利要求11所述的表格处理装置,其特征在于,所述对象保存字段值模块包括:
表格子对象生成子模块,用于若所述规则变量位于循环控制区域内,生成表格子对象;其中,所述表格子对象包含在所述表格对象中;
表格子对象保存子模块,用于在所述表格子对象中,确定所述规则变量对应的目标属性,并将读取到的字段值确定为所述目标属性的属性值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511031647.1A CN106933899B (zh) | 2015-12-30 | 2015-12-30 | 表格处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511031647.1A CN106933899B (zh) | 2015-12-30 | 2015-12-30 | 表格处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933899A true CN106933899A (zh) | 2017-07-07 |
CN106933899B CN106933899B (zh) | 2020-08-18 |
Family
ID=59444350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511031647.1A Active CN106933899B (zh) | 2015-12-30 | 2015-12-30 | 表格处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933899B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766313A (zh) * | 2017-10-19 | 2018-03-06 | 平安科技(深圳)有限公司 | 一种数据列表的导入方法及其终端 |
CN108228116A (zh) * | 2017-12-31 | 2018-06-29 | 上海智引信息科技有限公司 | 标签生成方法、计算机可读存储介质及系统 |
CN108229614A (zh) * | 2017-12-31 | 2018-06-29 | 上海智引信息科技有限公司 | 标签生成方法、计算机可读存储介质及系统 |
CN108647196A (zh) * | 2018-04-16 | 2018-10-12 | 北京航空航天大学 | 数字飞行器仿真报告中表格的人工智能生成方法和装置 |
CN109254969A (zh) * | 2018-08-31 | 2019-01-22 | 平安科技(深圳)有限公司 | 数据表处理方法、装置、设备及存储介质 |
CN110347982A (zh) * | 2018-04-03 | 2019-10-18 | 鼎复数据科技(北京)有限公司 | 基于领域知识模版的表格结构化提取方法 |
CN113010503A (zh) * | 2021-03-01 | 2021-06-22 | 广州智筑信息技术有限公司 | 一种基于深度学习的工程造价数据智能解析方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006075667A1 (ja) * | 2005-01-12 | 2006-07-20 | Masatsugu Noda | 情報処理装置ならびにファイルデータマージ方法およびファイル名称付与方法およびファイルデータ出力方法 |
CN101650711A (zh) * | 2009-08-18 | 2010-02-17 | 深圳市科陆电子科技股份有限公司 | 一种报表的生成方法 |
CN101894099A (zh) * | 2010-06-29 | 2010-11-24 | 北京科技大学 | 一种报表模板定制方法 |
CN103020158A (zh) * | 2012-11-26 | 2013-04-03 | 中兴通讯股份有限公司 | 一种报表创建方法、装置和系统 |
CN103345533A (zh) * | 2013-07-26 | 2013-10-09 | 北京中电普华信息技术有限公司 | 一种数据存储方法及装置 |
CN103745010A (zh) * | 2014-01-28 | 2014-04-23 | 北京京东尚科信息技术有限公司 | 一种基于csv文件确定对象属性值的方法和装置 |
CN104461538A (zh) * | 2014-12-08 | 2015-03-25 | 畅捷通信息技术股份有限公司 | 报表生成方法和报表生成系统 |
US20150200967A1 (en) * | 2007-01-05 | 2015-07-16 | Digital Doors, Inc. | Information Infrastructure Management Tools With Variable and Configurable Filters and Segmental Data Stores |
CN105138312A (zh) * | 2014-06-05 | 2015-12-09 | 阿里巴巴集团控股有限公司 | 一种表格生成方法及装置 |
-
2015
- 2015-12-30 CN CN201511031647.1A patent/CN106933899B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006075667A1 (ja) * | 2005-01-12 | 2006-07-20 | Masatsugu Noda | 情報処理装置ならびにファイルデータマージ方法およびファイル名称付与方法およびファイルデータ出力方法 |
US20150200967A1 (en) * | 2007-01-05 | 2015-07-16 | Digital Doors, Inc. | Information Infrastructure Management Tools With Variable and Configurable Filters and Segmental Data Stores |
CN101650711A (zh) * | 2009-08-18 | 2010-02-17 | 深圳市科陆电子科技股份有限公司 | 一种报表的生成方法 |
CN101894099A (zh) * | 2010-06-29 | 2010-11-24 | 北京科技大学 | 一种报表模板定制方法 |
CN103020158A (zh) * | 2012-11-26 | 2013-04-03 | 中兴通讯股份有限公司 | 一种报表创建方法、装置和系统 |
CN103345533A (zh) * | 2013-07-26 | 2013-10-09 | 北京中电普华信息技术有限公司 | 一种数据存储方法及装置 |
CN103745010A (zh) * | 2014-01-28 | 2014-04-23 | 北京京东尚科信息技术有限公司 | 一种基于csv文件确定对象属性值的方法和装置 |
CN105138312A (zh) * | 2014-06-05 | 2015-12-09 | 阿里巴巴集团控股有限公司 | 一种表格生成方法及装置 |
CN104461538A (zh) * | 2014-12-08 | 2015-03-25 | 畅捷通信息技术股份有限公司 | 报表生成方法和报表生成系统 |
Non-Patent Citations (2)
Title |
---|
AKHILKUMAR: "Design and management of flexible process variants using templates and rules", 《COMPUTERS IN INDUSTRY》 * |
饶上荣: "面向对象设计的嵌套表格模板设计技术", 《计算机辅助设计与图形学学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766313A (zh) * | 2017-10-19 | 2018-03-06 | 平安科技(深圳)有限公司 | 一种数据列表的导入方法及其终端 |
CN107766313B (zh) * | 2017-10-19 | 2019-05-07 | 平安科技(深圳)有限公司 | 一种数据列表的导入方法及其终端 |
CN108228116A (zh) * | 2017-12-31 | 2018-06-29 | 上海智引信息科技有限公司 | 标签生成方法、计算机可读存储介质及系统 |
CN108229614A (zh) * | 2017-12-31 | 2018-06-29 | 上海智引信息科技有限公司 | 标签生成方法、计算机可读存储介质及系统 |
CN108229614B (zh) * | 2017-12-31 | 2021-12-14 | 上海智引信息科技有限公司 | 标签生成方法、计算机可读存储介质及系统 |
CN110347982A (zh) * | 2018-04-03 | 2019-10-18 | 鼎复数据科技(北京)有限公司 | 基于领域知识模版的表格结构化提取方法 |
CN108647196A (zh) * | 2018-04-16 | 2018-10-12 | 北京航空航天大学 | 数字飞行器仿真报告中表格的人工智能生成方法和装置 |
CN109254969A (zh) * | 2018-08-31 | 2019-01-22 | 平安科技(深圳)有限公司 | 数据表处理方法、装置、设备及存储介质 |
CN113010503A (zh) * | 2021-03-01 | 2021-06-22 | 广州智筑信息技术有限公司 | 一种基于深度学习的工程造价数据智能解析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106933899B (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933899A (zh) | 表格处理方法及装置 | |
CN107918666B (zh) | 一种区块链上的数据同步方法和系统 | |
Messmer et al. | A decision tree approach to graph and subgraph isomorphism detection | |
US6760732B2 (en) | Method and system for viewing a record of an organization having a hierarchy of departments | |
CN104504077B (zh) | 网页访问数据的统计方法和装置 | |
CN103778239A (zh) | 一种多数据库数据管理方法及系统 | |
CN106649363A (zh) | 数据查询方法及装置 | |
CN104021219A (zh) | 一种数据模板的生成方法及装置 | |
CN115203263B (zh) | 数据元件获取方法、系统、设备及计算机可读存储介质 | |
CN118363569A (zh) | 一种基于SpringBoot、mybatis框架实现数据库国产化改造的方法、系统、设备及存储介质 | |
JP3786003B2 (ja) | フィールド機器管理装置 | |
CN109657671A (zh) | 铭牌文字识别方法、装置、计算机设备和存储介质 | |
CN1996989B (zh) | 一种个人网页系统及其实现方法 | |
JP2009146198A (ja) | 情報管理システム | |
CN113269538B (zh) | 并行审批节点的转交方法、装置、设备及存储介质 | |
CN110147396B (zh) | 一种映射关系生成方法及装置 | |
CN115145829A (zh) | 调用链查询方法、装置及电子设备 | |
CN109145098B (zh) | 基于知识图谱的中华文化元素信息搜索方法 | |
CN114863463A (zh) | 一种对合同文本的智能审核校验方法及装置 | |
CN114298882A (zh) | Cad数据的水印的嵌入方法、追溯方法以及电子设备 | |
CN112445461A (zh) | 一种业务规则生成方法、装置、电子设备和可读存储介质 | |
CN114721582A (zh) | 信息共享方法、装置及相关设备 | |
CN110517010A (zh) | 一种数据处理方法、系统及存储介质 | |
CN111126876A (zh) | 一种基于插件化技术实现业务配置的方法及装置 | |
CN105335857A (zh) | 数据查找方法及装置 |
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 |