CN110096507A - 一种页面复杂表格渲染方法、系统、终端及介质 - Google Patents
一种页面复杂表格渲染方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN110096507A CN110096507A CN201910337757.2A CN201910337757A CN110096507A CN 110096507 A CN110096507 A CN 110096507A CN 201910337757 A CN201910337757 A CN 201910337757A CN 110096507 A CN110096507 A CN 110096507A
- Authority
- CN
- China
- Prior art keywords
- cell
- setting value
- inter
- column
- setting
- 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.)
- Pending
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开的一种页面复杂表格渲染的方法,包括初始化用户表格数据,获取用户终端发送的页面表格的编辑请求,编辑请求包括表格编辑需求和参数设置;根据跨行属性的设置值和跨列属性的设置值合并或拆分单元格;根据文字属性的设置值在该单元格内显示的文字属性的设置值对应的文字;根据单元格的标记的设置值渲染表格的选中状态,根据选中状态确定需要合并或拆分的单元格的位置。根据结构化数据渲染表格的行、列及单元格合并状态,并通过合并单元格和拆分单元格,对结构化数据的属性进行修改,使得表格可以适应复杂的业务逻辑,保持页面的显示与业务需求的表格一致。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种页面复杂表格渲染方法、系统、终端及介质。
背景技术
随着软件网页端技术的迅速发展,业务应用对于前端操作已不再局限于填写表单、查看基本信息,其功能逐渐扩展到了各种复杂的以前依赖于客户端程序才能实现的操作。比如,复杂结构表格的编辑和存储,包括:不定数量的行数、不定数量的列数、表格单元格的合并、表格单元格的拆分等。
现有技术在网页上编辑数据,大多局限于填写结构化表单,并存储于数据库对应的字段,或仅存储数据内容,该内容可以显示、存储、读取,却没有固定的格式,无法实现数据的结构化存储,使得数据不具备结构,从而无法实现表格间的对比和更为广泛的数据操作。
现有技术进行基于HTML的数据编辑,主要有两种类型:一种是简单的结构化,即页面上的数据均为预先设置好的一个字段和它对应的值。该方法在软件开发前,要输入的字段已经确定,且只能以一个字段名称和一个或多个值确定。另一种是只保存输入的文本,即用户可以在页面输入复杂的内容,该值作为一个整体的内容,以用户显示的状态直接保存。该方法虽然能够输入和保存复杂的表格内容,但相同的显示效果下,却对应了多种不同的数据结构,导致两个用户编辑同一个样式的表格,其得到的数据是不同的。
发明内容
针对现有技术中的缺陷,本发明实施例提供的一种页面复杂表格渲染的方法、系统、终端及介质,实现用户在网络页面上进行复杂的表格的编辑操作。
第一方面,本发明实施例还提供一种页面复杂表格渲染的方法,包括以下步骤:
初始化用户表格数据,所述用户表格数据由用户终端指定数据源,或若用户终端未指定数据源,则初始化一个空白的1行1列的表格;
获取用户终端发送的页面表格的编辑请求,所述编辑请求包括表格编辑需求和参数设置,所述编辑需求包括合并单元格、拆分单元格、增加行/列或删除行/列,所述参数设置包括单元格跨行属性的设置值、单元格跨列属性的设置值、文字属性的设置值和单元格的标记的设置值;
根据所述跨行属性的设置值和跨列属性的设置值合并或拆分单元格;
根据所述文字属性的设置值在该单元格内显示的文字属性的设置值对应的文字;
根据单元格的标记的设置值渲染表格的选中状态,根据选中状态确定需要合并或拆分的单元格的位置。
可选地,在根据跨行属性的设置值和跨列属性的设置值合并或拆分单元格步骤之前,还包括:设定数据存储结构,在所述数据存储结构中,
当跨行属性的设置值为1时,表示该单元格不与其他行合并;
当跨行属性的设置值大于1时,表示该单元格及该单元格向下的“设置值-1”个单元格为合并单元格;
当跨列属性的设置值为1时,表示该单元格不与其他列合并,跨列属性的设置值大于1时,表示该单元格及该单元格向右的“设置值-1”个单元格合并为1个单元格;
当跨行属性的设置值和跨列属性的设置值为0时,表示该单元格与其他单元格已经合并,将不在页面上显示。
可选地,所述根据跨行属性的设置值和跨列属性的设置值合并单元格的具体方法包括:
获取用户终端同时发送的shift的操作和选中单元格的操作;
遍历全部单元格,判断初始化的单元格是否临近选中的单元格;
若是,则设置单元格标记为true;
或者,若否,则设置单元格标记为false;
获取用户终端发送的合并单元格的请求;
遍历标记为true的所有单元格,并记录选中区域的单元格的行数和列数,所述选中区域的单元格的行数为行标记和列标记最小的单元格的跨行属性设置值;所述选中区域的单元格的列数为行标记和列标记最小的单元格的跨列属性设置值;
将其他未选中的单元格标记为true,将跨行属性设置值和跨列属性设置值设置为0,该单元格存储的数据设置为空。
可选地,所述根据跨行属性的设置值和跨列属性的设置值拆分单元格的具体方法包括:
获取用户终端发送的拆分单元格请求;
获取用户终端设置的当前单元格的跨行属性的设置值和跨列属性的设置值均设置为1;
从当前单元格起,向行标大于当前单元格的方向遍历单元格,直到遍历的单元格跨行属性设置值不为0或遇到表格结尾;
在每一次遍历行时,向列标大于当前单元格的方向遍历单元格,直到遍历的单元格跨列属性设置值不为0或遇到表格结尾;
在每个遍历的单元格,将遍历的单元格的跨行属性的设置值和跨列属性的设置值均设置为1。
第二方面,本发明实施例提供的一种页面复杂表格渲染的系统,包括用户终端和服务端,所述服务端包括初始化模块、获取模块和数据处理模块,
所述初始化模块用于初始化用户表格数据,所述用户表格数据由用户终端指定数据源,或若用户终端未指定数据源,则初始化一个空白的1行1列的表格;
所述获取模块用于获取用户终端发送的页面表格的编辑请求,所述编辑请求包括表格编辑需求和参数设置,所述编辑需求包括合并单元格、拆分单元格、增加行/列或删除行/列,所述参数设置包括单元格跨行属性的设置值、单元格跨列属性的设置值、文字属性的设置值和单元格的标记的设置值;
所述数据处理模块用于根据所述跨行属性的设置值和跨列属性的设置值合并或拆分单元格;根据所述文字属性的设置值在该单元格内显示的文字属性的设置值对应的文字;根据单元格的标记的设置值渲染表格的选中状态,根据选中状态确定需要合并或拆分的单元格的位置。
可选地,还包括设定数据存储结构模块,所述设定数据存储结构模块用于设置数据存储结构,在所述数据存储结构中,
当跨行属性的设置值为1时,表示该单元格不与其他行合并;
当跨行属性的设置值大于1时,表示该单元格及该单元格向下的“设置值-1”个单元格为合并单元格;
当跨列属性的设置值为1时,表示该单元格不与其他列合并,跨列属性的设置值大于1时,表示该单元格及该单元格向右的“设置值-1”个单元格合并为1个单元格;
当跨行属性的设置值和跨列属性的设置值为0时,表示该单元格与其他单元格已经合并,将不在页面上显示。
可选地,所述数据处理模块包括合并单元格子模块,
所述合并单元格子模块用于获取用户终端同时发送的shift的操作和选中单元格的操作;
遍历全部单元格,判断初始化的单元格是否临近选中的单元格;
若是,则设置单元格标记为true;
或者,若否,则设置单元格标记为false;
获取用户终端发送的合并单元格的请求;
遍历标记为true的所有单元格,并记录选中区域的单元格的行数和列数,所述选中区域的单元格的行数为行标记和列标记最小的单元格的跨行属性设置值;所述选中区域的单元格的列数为行标记和列标记最小的单元格的跨列属性设置值;
将其他未选中的单元格标记为true,将跨行属性设置值和跨列属性设置值设置为0,该单元格存储的数据设置为空。
可选地,所述数据处理模块包括拆分单元格子模块,
所述拆分单元格子模块用于获取用户终端发送的拆分单元格请求,获取用户终端设置的当前单元格的跨行属性的设置值和跨列属性的设置值均设置为1;
从当前单元格起,向行标大于当前单元格的方向遍历单元格,直到遍历的单元格跨行属性设置值不为0或遇到表格结尾;
在每一次遍历行时,向列标大于当前单元格的方向遍历单元格,直到遍历的单元格跨列属性设置值不为0或遇到表格结尾;
在每个遍历的单元格,将遍历的单元格的跨行属性的设置值和跨列属性的设置值均设置为1。
第三方面,本发明实施例提供的一种计算机终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法的步骤。
第四方面,本发明实施例提供的一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法的步骤。
本发明的有益效果:
本发明实施例提供的一种页面复杂表格渲染的方法、系统、终端及介质,根据结构化数据渲染表格的行、列及单元格合并状态,并通过合并单元格和拆分单元格,对结构化数据的属性进行修改,使得表格可以适应复杂的业务逻辑,保持页面的显示与业务需求的表格一致。同时提供了结构化数据的存储,使得数据除了具备存储能力外,还具备数据差异比对功能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1示出了本发明第一实施例所提供的一种页面复杂表格渲染的方法的流程图;
图2示出了本发明第一实施例所提供的一种页面复杂表格渲染的方法中根据跨行属性的设置值和跨列属性的设置值合并单元格的方法流程图;
图3示出了本发明第一实施例所提供的一种页面复杂表格渲染的方法中根据跨行属性的设置值和跨列属性的设置值拆分单元格的方法流程图;
图4示出了本发明第二实施例所提供的一种页面复杂表格渲染的系统的结构示意图;
图5示出了本发明第三实施例所提供的一种计算机终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1-3所示,示出了本发明第一实施例提供的一种页面复杂表格渲染的方法的流程图,该方法适用于页面复杂表格渲染系统的服务端进行数据处理,方法包括以下步骤:
S1:初始化用户表格数据,所述用户表格数据由用户终端指定数据源,或若用户终端未指定数据源,则初始化一个空白的1行1列的表格。
S2:获取用户终端发送的页面表格的编辑请求,所述编辑请求包括表格编辑需求和参数设置,所述编辑需求包括合并单元格、拆分单元格、增加行/列或删除行/列,所述参数设置包括单元格跨行属性的设置值rowSpan、单元格跨列属性的设置值colSpan、文字属性的设置值value和单元格的标记的设置值tag。
S3:根据所述跨行属性的设置值和跨列属性的设置值合并或拆分单元格。
具体地,在本实施例中,根据所述跨行属性的设置值和跨列属性的设置值合并单元格的具体方法包括:
S310:获取用户终端同时发送的shift的操作和选中单元格的操作;
S311:遍历全部单元格,判断初始化的单元格是否临近选中的单元格;
S312:若是,则设置单元格标记为true;
S313:或者,若否,则设置单元格标记为false;
S314:获取用户终端发送的合并单元格的请求;
S315:遍历标记为true的所有单元格,并记录选中区域的单元格的行数和列数,所述选中区域的单元格的行数为行标记和列标记最小的单元格的跨行属性设置值;所述选中区域的单元格的列数为行标记和列标记最小的单元格的跨列属性设置值;
S316:将其他未选中的单元格标记为true,将跨行属性设置值和跨列属性设置值设置为0,该单元格存储的数据设置为空。
在本实施例中,根据跨行属性的设置值和跨列属性的设置值拆分单元格的具体方法包括:
S320:获取用户终端发送的拆分单元格请求;
S321:获取用户终端设置的当前单元格的跨行属性的设置值和跨列属性的设置值均设置为1;
S322:从当前单元格起,向行标大于当前单元格的方向遍历单元格,直到遍历的单元格跨行属性设置值不为0或遇到表格结尾;
S323:在每一次遍历行时,向列标大于当前单元格的方向遍历单元格,直到遍历的单元格跨列属性设置值不为0或遇到表格结尾;
S324:在每个遍历的单元格,将遍历的单元格的跨行属性的设置值和跨列属性的设置值均设置为1。
S4:根据所述文字属性的设置值在该单元格内显示的文字属性的设置值对应的文字。
S5:根据单元格的标记的设置值渲染表格的选中状态,根据选中状态确定需要合并或拆分的单元格的位置。
在根据跨行属性的设置值和跨列属性的设置值合并或拆分单元格步骤之前,还包括步骤S6:设定数据存储结构,在所述数据存储结构中,
当rowSpan(跨行属性的设置值)为1时,表示该单元格不与其他行合并;
当rowSpan(跨行属性的设置值)大于1时,表示该单元格及该单元格向下的“设置值-1”个单元格为合并单元格;
当colSpan(跨列属性的设置值)为1时,表示该单元格不与其他列合并,跨列属性的设置值大于1时,表示该单元格及该单元格向右的“设置值-1”个单元格合并为1个单元格;
当rowSpan(跨行属性的设置值)和colSpan(跨列属性的设置值)为0时,表示该单元格与其他单元格已经合并,将不在页面上显示。
在本实施例中,使用了特定结构存储数据,在该结构中,value表示文字属性的设置值,根据value可知该单元格存储的数据,tag用于表示单元格标记的设置,根据tag可以知道单元格选中状态,rowSpan表示跨行属性的设置值(默认值为1表示不合并),colSpan表示单元格跨列属性的设置值(默认值为1表示不合并)。多个单元格结构,组成一个行的数组。多个行的数组,组成一个完整的表格。通过特定结构存储数据,实现了数据结构化存储和读取,使得表格的显示的数据与其存储的数据是一一对应的,实现在两次编辑时比对表格内容的差异功能。
本实施例提供的一种页面复杂表格编辑的方法,该方法根据结构化数据渲染表格的行、列及单元格合并状态,并通过合并单元格和拆分单元格,对结构化数据的属性进行修改,使得表格可以适应复杂的业务逻辑,保持页面的显示与业务需求的表格一致。同时提供了结构化数据的存储,使得数据除了具备存储能力外,还具备数据差异比对功能。
如图4所示,示出了本发明第二实施例提供的一种页面复杂表格渲染的系统的结构示意图,系统包括用户终端和服务端,所述服务端包括初始化模块、获取模块和数据处理模块,
所述初始化模块用于初始化用户表格数据,所述用户表格数据由用户终端指定数据源,或若用户终端未指定数据源,则初始化一个空白的1行1列的表格;
所述获取模块用于获取用户终端发送的页面表格的编辑请求,所述编辑请求包括表格编辑需求和参数设置,所述编辑需求包括合并单元格、拆分单元格、增加行/列或删除行/列,所述参数设置包括单元格跨行属性的设置值、单元格跨列属性的设置值、文字属性的设置值和单元格的标记的设置值;
所述数据处理模块用于根据所述跨行属性的设置值和跨列属性的设置值合并或拆分单元格;根据所述文字属性的设置值在该单元格内显示的文字属性的设置值对应的文字;根据单元格的标记的设置值渲染表格的选中状态,根据选中状态确定需要合并或拆分的单元格的位置。
在本实施例中,系统还包括设定数据存储结构模块,所述设定数据存储结构模块用于设置数据存储结构,在所述数据存储结构中,
当跨行属性的设置值为1时,表示该单元格不与其他行合并;
当跨行属性的设置值大于1时,表示该单元格及该单元格向下的“设置值-1”个单元格为合并单元格;
当跨列属性的设置值为1时,表示该单元格不与其他列合并,跨列属性的设置值大于1时,表示该单元格及该单元格向右的“设置值-1”个单元格合并为1个单元格;
当跨行属性的设置值和跨列属性的设置值为0时,表示该单元格与其他单元格已经合并,将不在页面上显示。
在本实施例中,数据处理模块包括合并单元格子模块,
所述合并单元格子模块用于获取用户终端同时发送的shift的操作和选中单元格的操作;
遍历全部单元格,判断初始化的单元格是否临近选中的单元格;
若是,则设置单元格标记为true;
或者,若否,则设置单元格标记为false;
获取用户终端发送的合并单元格的请求;
遍历标记为true的所有单元格,并记录选中区域的单元格的行数和列数,所述选中区域的单元格的行数为行标记和列标记最小的单元格的跨行属性设置值;所述选中区域的单元格的列数为行标记和列标记最小的单元格的跨列属性设置值;
将其他未选中的单元格标记为true,将跨行属性设置值和跨列属性设置值设置为0,该单元格存储的数据设置为空。
在本实施例中,所述数据处理模块包括拆分单元格子模块,所述拆分单元格子模块用于获取用户终端发送的拆分单元格请求,获取用户终端设置的当前单元格的跨行属性的设置值和跨列属性的设置值均设置为1;
从当前单元格起,向行标大于当前单元格的方向遍历单元格,直到遍历的单元格跨行属性设置值不为0或遇到表格结尾;
在每一次遍历行时,向列标大于当前单元格的方向遍历单元格,直到遍历的单元格跨列属性设置值不为0或遇到表格结尾;
在每个遍历的单元格,将遍历的单元格的跨行属性的设置值和跨列属性的设置值均设置为1。
在本实施例中,使用了特定结构存储数据,在该结构中,value表示文字属性的设置值,根据value可知该单元格存储的数据,tag用于表示单元格标记的设置,根据tag可以知道单元格选中状态,rowSpan表示跨行属性的设置值(默认值为1表示不合并),colSpan表示单元格跨列属性的设置值(默认值为1表示不合并)。多个单元格结构,组成一个行的数组。多个行的数组,组成一个完整的表格。通过特定结构存储数据,实现了数据结构化存储和读取,使得表格的显示的数据与其存储的数据是一一对应的,实现在两次编辑时比对表格内容的差异功能。
本实施例提供的一种页面复杂表格编辑的系统,该系统根据结构化数据渲染表格的行、列及单元格合并状态,并通过合并单元格和拆分单元格,对结构化数据的属性进行修改,使得表格可以适应复杂的业务逻辑,保持页面的显示与业务需求的表格一致。同时提供了结构化数据的存储,使得数据除了具备存储能力外,还具备数据差异比对功能。
在本发明还提供一种计算机终端的实施例,如图5所示,示出了计算机设备的结构示意图,该设备包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一实施例描述的方法的步骤。
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备可以包括显示器(LCD等)、扬声器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器、输入设备、输出设备可执行本发明实施例提供的方法实施例所描述的实现方式,也可执行本发明实施例所描述的系统实施例的实现方式,在此不再赘述。
在本发明还提供一种计算机可读存储介质的实施例,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一实施例描述的方法的步骤。
所述计算机可读存储介质可以是前述实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种页面复杂表格渲染的方法,其特征在于,包括:
初始化用户表格数据,所述用户表格数据由用户终端指定数据源,或若用户终端未指定数据源,则初始化一个空白的1行1列的表格;
获取用户终端发送的页面表格的编辑请求,所述编辑请求包括表格编辑需求和参数设置,所述编辑需求包括合并单元格、拆分单元格、增加行/列或删除行/列,所述参数设置包括单元格跨行属性的设置值、单元格跨列属性的设置值、文字属性的设置值和单元格的标记的设置值;
根据所述跨行属性的设置值和跨列属性的设置值合并或拆分单元格;
根据所述文字属性的设置值在该单元格内显示的文字属性的设置值对应的文字;
根据单元格的标记的设置值渲染表格的选中状态,根据选中状态确定需要合并或拆分的单元格的位置。
2.如权利要求1所述的页面复杂表格渲染的方法,其特征在于,在根据跨行属性的设置值和跨列属性的设置值合并或拆分单元格步骤之前,还包括:设定数据存储结构,在所述数据存储结构中,
当跨行属性的设置值为1时,表示该单元格不与其他行合并;
当跨行属性的设置值大于1时,表示该单元格及该单元格向下的“设置值-1”个单元格为合并单元格;
当跨列属性的设置值为1时,表示该单元格不与其他列合并,跨列属性的设置值大于1时,表示该单元格及该单元格向右的“设置值-1”个单元格合并为1个单元格;
当跨行属性的设置值和跨列属性的设置值为0时,表示该单元格与其他单元格已经合并,将不在页面上显示。
3.如权利要求2所述的页面复杂表格渲染的方法,其特征在于,所述根据跨行属性的设置值和跨列属性的设置值合并单元格的具体方法包括:
获取用户终端同时发送的shift的操作和选中单元格的操作;
遍历全部单元格,判断初始化的单元格是否临近选中的单元格;
若是,则设置单元格标记为true;
或者,若否,则设置单元格标记为false;
获取用户终端发送的合并单元格的请求;
遍历标记为true的所有单元格,并记录选中区域的单元格的行数和列数,所述选中区域的单元格的行数为行标记和列标记最小的单元格的跨行属性设置值;所述选中区域的单元格的列数为行标记和列标记最小的单元格的跨列属性设置值;
将其他未选中的单元格标记为true,将跨行属性设置值和跨列属性设置值设置为0,该单元格存储的数据设置为空。
4.如权利要求2所述的页面复杂表格渲染的方法,其特征在于,所述根据跨行属性的设置值和跨列属性的设置值拆分单元格的具体方法包括:
获取用户终端发送的拆分单元格请求;
获取用户终端设置的当前单元格的跨行属性的设置值和跨列属性的设置值均设置为1;
从当前单元格起,向行标大于当前单元格的方向遍历单元格,直到遍历的单元格跨行属性设置值不为0或遇到表格结尾;
在每一次遍历行时,向列标大于当前单元格的方向遍历单元格,直到遍历的单元格跨列属性设置值不为0或遇到表格结尾;
在每个遍历的单元格,将遍历的单元格的跨行属性的设置值和跨列属性的设置值均设置为1。
5.一种页面复杂表格渲染的系统,其特征在于,包括用户终端和服务端,所述服务端包括初始化模块、获取模块和数据处理模块,
所述初始化模块用于初始化用户表格数据,所述用户表格数据由用户终端指定数据源,或若用户终端未指定数据源,则初始化一个空白的1行1列的表格;
所述获取模块用于获取用户终端发送的页面表格的编辑请求,所述编辑请求包括表格编辑需求和参数设置,所述编辑需求包括合并单元格、拆分单元格、增加行/列或删除行/列,所述参数设置包括单元格跨行属性的设置值、单元格跨列属性的设置值、文字属性的设置值和单元格的标记的设置值;
所述数据处理模块用于根据所述跨行属性的设置值和跨列属性的设置值合并或拆分单元格;根据所述文字属性的设置值在该单元格内显示的文字属性的设置值对应的文字;根据单元格的标记的设置值渲染表格的选中状态,根据选中状态确定需要合并或拆分的单元格的位置。
6.如权利要求5所述的页面复杂表格渲染的系统,其特征在于,还包括设定数据存储结构模块,所述设定数据存储结构模块用于设置数据存储结构,在所述数据存储结构中,
当跨行属性的设置值为1时,表示该单元格不与其他行合并;
当跨行属性的设置值大于1时,表示该单元格及该单元格向下的“设置值-1”个单元格为合并单元格;
当跨列属性的设置值为1时,表示该单元格不与其他列合并,跨列属性的设置值大于1时,表示该单元格及该单元格向右的“设置值-1”个单元格合并为1个单元格;
当跨行属性的设置值和跨列属性的设置值为0时,表示该单元格与其他单元格已经合并,将不在页面上显示。
7.如权利要求6所述的页面复杂表格渲染的系统,其特征在于,所述数据处理模块包括合并单元格子模块,
所述合并单元格子模块用于获取用户终端同时发送的shift的操作和选中单元格的操作;
遍历全部单元格,判断初始化的单元格是否临近选中的单元格;
若是,则设置单元格标记为true;
或者,若否,则设置单元格标记为false;
获取用户终端发送的合并单元格的请求;
遍历标记为true的所有单元格,并记录选中区域的单元格的行数和列数,所述选中区域的单元格的行数为行标记和列标记最小的单元格的跨行属性设置值;所述选中区域的单元格的列数为行标记和列标记最小的单元格的跨列属性设置值;
将其他未选中的单元格标记为true,将跨行属性设置值和跨列属性设置值设置为0,该单元格存储的数据设置为空。
8.如权利要求6所述的页面复杂表格渲染的系统,其特征在于,所述数据处理模块包括拆分单元格子模块,
所述拆分单元格子模块用于获取用户终端发送的拆分单元格请求,获取用户终端设置的当前单元格的跨行属性的设置值和跨列属性的设置值均设置为1;
从当前单元格起,向行标大于当前单元格的方向遍历单元格,直到遍历的单元格跨行属性设置值不为0或遇到表格结尾;
在每一次遍历行时,向列标大于当前单元格的方向遍历单元格,直到遍历的单元格跨列属性设置值不为0或遇到表格结尾;
在每个遍历的单元格,将遍历的单元格的跨行属性的设置值和跨列属性的设置值均设置为1。
9.一种计算机终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,其特征在于,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-4任一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-4任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910337757.2A CN110096507A (zh) | 2019-04-25 | 2019-04-25 | 一种页面复杂表格渲染方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910337757.2A CN110096507A (zh) | 2019-04-25 | 2019-04-25 | 一种页面复杂表格渲染方法、系统、终端及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110096507A true CN110096507A (zh) | 2019-08-06 |
Family
ID=67445728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910337757.2A Pending CN110096507A (zh) | 2019-04-25 | 2019-04-25 | 一种页面复杂表格渲染方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096507A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941949A (zh) * | 2019-11-21 | 2020-03-31 | 望海康信(北京)科技股份公司 | 数据表格渲染控制方法、装置、计算机设备及存储介质 |
CN111027294A (zh) * | 2019-12-12 | 2020-04-17 | 中国联合网络通信集团有限公司 | 表格汇总的方法、装置及系统 |
CN111290752A (zh) * | 2019-12-24 | 2020-06-16 | 浙江明度智控科技有限公司 | 一种web表格的边框处理方法和装置 |
CN111626031A (zh) * | 2020-06-02 | 2020-09-04 | 浪潮软件股份有限公司 | 一种大数据前端表格组件的实现方法 |
CN112668288A (zh) * | 2020-12-24 | 2021-04-16 | 江苏省送变电有限公司 | 一种继电保护装置定值校核仪智能提取定值单项的方法 |
CN112784548A (zh) * | 2019-11-07 | 2021-05-11 | 珠海金山办公软件有限公司 | 一种单元格合并方法、装置、及存储介质 |
CN112861481A (zh) * | 2021-01-29 | 2021-05-28 | 北京尚医智信健康管理有限公司 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
CN114077466A (zh) * | 2020-08-12 | 2022-02-22 | 北京智邦国际软件技术有限公司 | 一种Web界面表单中多行多列字段自动布局算法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853588A (zh) * | 2012-12-05 | 2014-06-11 | 苏州精易会信息技术有限公司 | 一种通过浏览器内核解析html表格列操作的方法 |
CN106873986A (zh) * | 2017-01-17 | 2017-06-20 | 武汉天喻教育科技有限公司 | 一种wpf中表格系统及实现方法 |
US9740666B1 (en) * | 2014-08-26 | 2017-08-22 | Google Inc. | Systems and methods for merging table cells via expansion based on states of cells |
CN107943968A (zh) * | 2017-11-28 | 2018-04-20 | 北京筑业志远软件开发有限公司 | 施工资料表格数据的结构化处理方法 |
CN109408764A (zh) * | 2018-11-28 | 2019-03-01 | 南京赛克蓝德网络科技有限公司 | 页面区域划分方法、装置、计算设备和介质 |
-
2019
- 2019-04-25 CN CN201910337757.2A patent/CN110096507A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853588A (zh) * | 2012-12-05 | 2014-06-11 | 苏州精易会信息技术有限公司 | 一种通过浏览器内核解析html表格列操作的方法 |
US9740666B1 (en) * | 2014-08-26 | 2017-08-22 | Google Inc. | Systems and methods for merging table cells via expansion based on states of cells |
CN106873986A (zh) * | 2017-01-17 | 2017-06-20 | 武汉天喻教育科技有限公司 | 一种wpf中表格系统及实现方法 |
CN107943968A (zh) * | 2017-11-28 | 2018-04-20 | 北京筑业志远软件开发有限公司 | 施工资料表格数据的结构化处理方法 |
CN109408764A (zh) * | 2018-11-28 | 2019-03-01 | 南京赛克蓝德网络科技有限公司 | 页面区域划分方法、装置、计算设备和介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112784548A (zh) * | 2019-11-07 | 2021-05-11 | 珠海金山办公软件有限公司 | 一种单元格合并方法、装置、及存储介质 |
CN110941949A (zh) * | 2019-11-21 | 2020-03-31 | 望海康信(北京)科技股份公司 | 数据表格渲染控制方法、装置、计算机设备及存储介质 |
CN111027294A (zh) * | 2019-12-12 | 2020-04-17 | 中国联合网络通信集团有限公司 | 表格汇总的方法、装置及系统 |
CN111027294B (zh) * | 2019-12-12 | 2023-05-30 | 中国联合网络通信集团有限公司 | 表格汇总的方法、装置及系统 |
CN111290752A (zh) * | 2019-12-24 | 2020-06-16 | 浙江明度智控科技有限公司 | 一种web表格的边框处理方法和装置 |
CN111290752B (zh) * | 2019-12-24 | 2024-02-20 | 明度智云(浙江)科技有限公司 | 一种web表格的边框处理方法和装置 |
CN111626031A (zh) * | 2020-06-02 | 2020-09-04 | 浪潮软件股份有限公司 | 一种大数据前端表格组件的实现方法 |
CN111626031B (zh) * | 2020-06-02 | 2023-08-08 | 浪潮软件股份有限公司 | 一种大数据前端表格组件的实现方法 |
CN114077466A (zh) * | 2020-08-12 | 2022-02-22 | 北京智邦国际软件技术有限公司 | 一种Web界面表单中多行多列字段自动布局算法 |
CN112668288A (zh) * | 2020-12-24 | 2021-04-16 | 江苏省送变电有限公司 | 一种继电保护装置定值校核仪智能提取定值单项的方法 |
CN112861481A (zh) * | 2021-01-29 | 2021-05-28 | 北京尚医智信健康管理有限公司 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
CN112861481B (zh) * | 2021-01-29 | 2024-01-30 | 北京尚医智信健康管理有限公司 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096507A (zh) | 一种页面复杂表格渲染方法、系统、终端及介质 | |
CN110648138B (zh) | 基于区块链的交易查询、交易数据处理方法、装置及设备 | |
CN107562600B (zh) | 页面检测方法、装置、计算设备以及存储介质 | |
CN110442341A (zh) | 应用程序的界面配置方法、装置及终端设备 | |
CN104915186B (zh) | 一种制作页面的方法和装置 | |
CN112068911B (zh) | 电子表单的生成方法、装置、系统、设备以及介质 | |
CN107301046A (zh) | 图标的处理方法和装置、计算机设备和存储介质 | |
CN110955714A (zh) | 一种将非结构化文本转化为结构化文本的方法及装置 | |
CN107341005A (zh) | 图表生成方法及其装置 | |
CN114816404A (zh) | 动态渲染视图页面的方法、装置、计算机设备及存储介质 | |
CN110969000B (zh) | 数据合并的处理方法及装置 | |
US8170983B2 (en) | Managing data across a semantic data view and a presentation data view | |
CN107391529A (zh) | 一种实现对象关系映射orm的方法及装置 | |
CN108984156A (zh) | 一种基于模板的免代码开发的软件自动生成方法及系统 | |
CN114693226A (zh) | 审批流程构建方法、装置、设备以及存储介质 | |
CN114647548A (zh) | 一种日志生成方法及装置 | |
CN115935909A (zh) | 一种文件生成方法、装置及电子设备 | |
JP4234698B2 (ja) | 構造化文書処理システム | |
CN110928910B (zh) | 高速读写Shapfile中的矢量要素的方法和装置 | |
CN114328486A (zh) | 基于模型的数据质量核查方法及装置 | |
CN113485746A (zh) | 应用程序接口文档的生成方法及装置 | |
CN103124309B (zh) | 手机文件的读写控制方法及终端 | |
CN107203525A (zh) | 数据库的处理方法和装置 | |
CN109918412A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN107608947A (zh) | Html文件处理方法及装置、电子设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190806 |
|
RJ01 | Rejection of invention patent application after publication |