CN116050362B - 一种Web表格动态数据绑定方法、介质及系统 - Google Patents

一种Web表格动态数据绑定方法、介质及系统 Download PDF

Info

Publication number
CN116050362B
CN116050362B CN202310286076.4A CN202310286076A CN116050362B CN 116050362 B CN116050362 B CN 116050362B CN 202310286076 A CN202310286076 A CN 202310286076A CN 116050362 B CN116050362 B CN 116050362B
Authority
CN
China
Prior art keywords
formula
data
cell
binding
dynamic
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
Application number
CN202310286076.4A
Other languages
English (en)
Other versions
CN116050362A (zh
Inventor
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Noah Information Technology Co ltd
Original Assignee
Qingdao Noah Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Noah Information Technology Co ltd filed Critical Qingdao Noah Information Technology Co ltd
Priority to CN202310286076.4A priority Critical patent/CN116050362B/zh
Publication of CN116050362A publication Critical patent/CN116050362A/zh
Application granted granted Critical
Publication of CN116050362B publication Critical patent/CN116050362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种Web表格动态数据绑定方法、介质及系统,属于Web表格技术领域,该Web表格动态数据绑定方法、介质及系统中Web表格采用Html+css+js实现,方法包括以下步骤:获取符合Office Open XML格式标准的表格数据,所述符合Open XML格式标准的表格数据包含固定值单元格和活动值单元格;将复制数据粘贴到Web表格内;对Web表格内的活动值单元格进行数据绑定,绑定数据名称设置为固定值单元格的值,所述活动值单元格还包括动态行;获取用户对Web表格中指定单元格设置的公式,所述公式中的参数为活动值单元格的绑定数据名称;根据公式计算所述指定单元格的值。

Description

一种Web表格动态数据绑定方法、介质及系统
技术领域
本发明属于Web表格技术领域,具体而言,涉及一种Web表格动态数据绑定方法、介质及系统。
背景技术
在工业生产中,表单种类层出不穷,复杂程度各不相同,传统EXCEL表格在面对上述问题时,缺失了适应性与灵活性,尤其是在新增一行时,EXCEL需要重新定义一次公式方面,这意味着大量重复的工作量,且在定义过程中,定义的公式有可能会出错,在工业生产这种严谨的环境下,一旦出错且没有及时发现,将会造成不可预估的损失。EXCEL自出世以来,凭借着其直观、简约的页面及出色的计算等能力,一度成为最流行的个人办公、数据处理软件。WEB在线表格工具是随互联网发展的产出物,是一种新兴的电子表格形式,自互联网兴起,各大开发商纷纷效仿EXCEL制作出独具各自特色的在线表格工具,在保留EXCEL使用习惯的同时,更是加入了花样百出的特色功能,而公式计算一直以来都是备受欢迎且硬性需求的功能。
但是,目前主流的Web表格工具在公式计算方面,或多或少都存在一定的缺陷。首先,大多数表格工具只专注于计算能力,而忽略数据收集、提取、检索、利用能力;其次,在面对内容复杂、庞大的表单时,无法保证公式定义的准确性(无法保证定位的单元格位置是准确的),且在未知情况下,表单设计者无法兼顾所有可能出现的情况,也就无法将公式定义全面,即时能够预知所有的情况,一旦存在多行、每一行的公式都是相同的,只是单元格位置不同的情况时,带给表单设计者的将会是重复且巨额的工作量。
发明内容
有鉴于此,有必要研究一种Web表格动态数据绑定方法、介质及系统法,在实现计算能力的同时提高表单的数据收集能力,减轻表单设计者的工作量,提高数据录入的准确性,让表单录入者只专注于数据录入。
本发明是这样实现的:
本发明的第一方面提供一种Web表格动态数据绑定方法,其中,所述Web表格采用Html+css+js实现,所述Web表格动态数据绑定方法包括以下步骤:
S10:获取符合Open XML格式标准的表格数据,所述符合Open XML格式标准的表格数据包含固定值单元格和活动值单元格,所述活动值单元格在所述固定值单元格的右侧,所述固定值单元格不为空;
S20:将复制数据粘贴到Web表格内;
S30:对Web表格内的活动值单元格进行数据绑定,绑定数据名称设置为固定值单元格的值,所述活动值单元格还包括动态行;
S40:获取用户对Web表格中指定单元格设置的公式,所述公式中的参数为活动值单元格的绑定数据名称;
S50:根据公式计算所述指定单元格的值。
在上述技术方案的基础上,本发明的一种Web表格动态数据绑定方法还可以做如下改进:
其中,所述获取符合Open XML格式标准的表格数据的具体步骤包括:
按行读取复制区域中不同格式的数据,并转换为SCHEMA数据;
转换过程中,判断复制区域中是否包含合并单元格,若是,则根据补充规则来补充SCHEMA数据的空缺位置,若否,则直接输出SCHEMA数据;
基于所读复制区域中包含的数据,对输出的SCHEMA数据进行校验,并在校验结果不一致时,返回告警信息;
其中补充规则为:根据合并单元格对应的多个单元格,用合并单元格的数据填充集合数据的空缺位置。
其中,所述公式包括显式公式和隐式公式,所述显式公式对使用者可见,由计算函数、运算符和活动值单元格名称字段组成;所述隐式公式对使用者不可见,供开发者使用,由计算函数、运算符号、活动值单元格名称字段组成;所述计算函数至少包括sum函数、average函数、max函数和min函数;所述运算符至少包括加减乘除运算符、字符串连接运算符。
进一步的,所述Web表格动态数据绑定方法还包括显式公式转换为隐式公式的步骤。
显式公式转换为隐式公式的流程如下:
显式公式的可见部分虽然是一个字符串,但其实质上是一个公式容器,容器中包含HTML元素,元素分为数据字段类型的元素和非数据字段类型的元素,在双击SCHEMA的数据字段时,会生成一个数据字段类型的HTML元素,元素的内容为数据字段,同时会对HTML元素设置一个“title”属性,其属性值为数据字段的路径,然后将该元素插入到公式容器中;而对于非数据字段(如计算函数、运算符……)类型,会生成非数据字段类型的HTML元素,该类元素无属性可言,其内容即为非数据字段类型的显示名称(如计算函数sum则元素内容为“sum”,运算符“/”则元素内容为“/”)。
1) 设置一个空公式字符串str;
2) 获取公式容器中的所有元素,循环;
3) 判断元素有无“title”属性,如果有,则获取该元素的“title”属性值,拼接到str中;如果没有,则获取该元素的显示内容,将其拼接到str中;
4) 如果没有循环完,则重复步骤2)至步骤3),直至循环完成;
5) 输出隐式公式字符串str。
进一步的,所述公式的计算步骤如下:
步骤1 计算引擎获取表格中所有公式单元格,所述公式单元格为设置过公式的单元格;
步骤2 获取公式单元格的“formula”属性的属性值,即获取其公式字符串;
步骤3 解析公式字符串,获取公式计算函数,并获取计算函数中包含的活动值单元格名称字段,将活动值单元格名称字段添加到列表中;
步骤4 循环数据字段列表,根据活动值单元格名称字段在表格中查找“bind”属性为该活动值单元格名称字段的单元格:
步骤4.1如果查找到,则获取单元格的内容,根据公式计算函数进行相应的计算逻辑;
步骤4.2如果没有查找到,则说明该数据字段不存在于SCHEMA中或不是一个数据字段,则此时将此字段记为非数据字段,并将该非数据字段数字化,数字化成功则将让其参与计算,不成功则继续下一步;
步骤5 重复步骤4,直至循环完所有的数据字段,计算出最终的结果,并将结果赋值给公式单元格;
步骤6 重复步骤2至步骤4,直至循环完所有的公式单元格。
进一步的,所述公式的计算步骤中,当遇到动态行时,实现的步骤同步骤1至步骤6之外,还包括在新增一行动态行时自动生成公式并更新行索引的步骤;其中,在新增一行动态行时,自动生成公式及更新行索引的步骤如下:
步骤7.1新增一行动态行后,获取该行中具有bind属性的单元格,并获取其值,即获取其动态活动值单元格名称字段;
步骤7.2解析获取的动态活动值单元格名称字段,获取其中的行索引,假设为A;
步骤7.3获取动态行中具有formula属性的单元格,即获取公式单元格,并获取其身上的公式字符串;
步骤7.4将公式字符串中的行索引更新为A,并将新的公式字符串重新赋值给公式单元格上的formula属性;
步骤7.5计算过程同步骤1至步骤6。
本发明的第二方面提供一种计算机可读存储介质,其中,所述计算机可读存储介质内存储有程序代码,所述程序代码运行时用于实现上述的Web表格动态数据绑定方法。
本发明的第三方面提供一种Web表格动态数据绑定系统,其中,包括上述的计算机可读存储介质。
与现有技术相比较,本发明提供的一种Web表格动态数据绑定方法、介质及系统的有益效果是:
(1) 针对其他表格工具只专注于计算能力的问题,本发明提出了一种以SCHEMA为核心的复杂公式计算引擎,用SCHEMA连接单元格和公式,计算的同时实现各类表单的数据收集,进而达到数据检索利用的目的,解决传统表格数据收集能力弱的缺陷;
(2) 针对复杂表格的情况,本发明提出了一种基于SCHEMA的动态行计算方法,相同公式或同类型公式无需重复定义,减少表单设计者的工作量,提高设计的准确性,进而提高数据录入的准确度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种Web表格动态数据绑定方法的流程图;
图2为公式设置流程图;
图3为公式计算流程图;
图4为动态行自动生成公式及更新行索引流程图;
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
如图1所示,是本发明第一方面提供一种Web表格动态数据绑定方法的流程图,在本方法中,Web表格采用Html+css+js实现,Web表格动态数据绑定方法包括以下步骤:
S10:获取符合Open XML格式标准的表格数据,包含固定值单元格和活动值单元格,活动值单元格在固定值单元格的右侧,固定值单元格不为空;其中Open XML指的是Office Open XML是针对字处理文档、演示文稿和电子表格的国际化开放标准,可免费供多个应用程序在多个平台上实现。Microsoft Office(2007及以上、2003、XP、2000)、OpenOffice Novell Edition等办公软件已经支持 Open XML;
S20:将复制数据粘贴到Web表格内;
S30:对Web表格内的活动值单元格进行数据绑定,绑定数据名称设置为固定值单元格的值,活动值单元格还包括动态行;
S40:获取用户对Web表格中指定单元格设置的公式,公式中的参数为活动值单元格的绑定数据名称;
S50:根据公式计算指定单元格的值。
其中,针对符合Open XML格式标准的表格数据包含固定值单元格和活动值单元格的区分,采用单元格名称来区分,例如姓名、性别等固定值单元格将其单元格名称设置为:title_Name,title_Sex,张三,男的单元格名称设置为value_Name,value_Sex,或者直接定义单元格名称为title_姓名、title_性别、value_姓名、value_性别。当读取时,可以根据单元格名称中的前缀来区分单元格为固定值单元格还是活动值单元格。
公开号为CN101566948B的中国发明专利(申请号CN200910099244.9)公开了一种表单系统数据源数据绑定方法,具体是一种用于表单设计中将数据集中数据绑定于控件的方法,以解决复杂表单设计中绑定关系建立操作量大和数据集变动引起的搜索时间长的问题。该方法利用包含绑定关系类型和绑定关系值的绑定关系对象表示绑定关系,通过设置全局绑定关系矩阵管理绑定关系,方便了绑定实施的操作,提高了表单程序运行效率。
利用上述专利的思路,在本专利的技术方案中,实现对Web表格内的活动值单元格进行数据绑定的方式具体为:
(1)构建绑定关系对象,该绑定关系对象包括数据与Web表格内的活动值单元格的绑定类型以及该绑定类型对应的绑定元素信息;
(2)建立数据集,同时建立全局绑定关系矩阵,全局绑定关系矩阵为一个二维数组,用于储存全部绑定关系,将具有绑定关系的数据集字段元素的表示符号依次转化为连续的整数作为矩阵的列号或行号,将具有绑定关系的Web表格内的活动值单元格标识依次转化为连续的整数作为矩阵的行号或列号,然后将绑定关系对象依次设置为行列对应处数组元素的值;
(3)数据集字段元素与Web表格内的活动值单元格的绑定关系变化通过改变全局绑定关系矩阵来实现:绑定关系的取消可通过注销全局关系表中相应行或列的值来实现,新的绑定关系的建立可通过新建行或列并填入相应绑定关系对象来实现,绑定关系的变更通过将新的绑定关系对象覆盖原有绑定关系对象来实现;
(4)绑定的实施通过读取全局绑定关系矩阵中相应绑定关系对象的绑定信息来实现。
另外的,也可以直接采用DOM的模式对Web表格内的活动值单元格进行数据绑定,具体如下:
(1)获取Web表格中HTML元素中的属性信息,其中,属性信息包括属性名称和属性值,其中,属性名称用于指示待绑定的DOM元素,属性值用于指示需要绑定的数据字段;
(2)获取属性名称对应的DOM元素;
(3)获取数据,并从数据中获取值为属性值的数据字段;
(4)将数据字段绑定到DOM元素中。
其中,动态行指的是,面对同种类型、同一个公式、只是单元格位置不一样的情况时,本发明摒弃类似于EXCEL式的计算方式,允许表单设计者自行决定动态行,在该动态行中只定义一次公式,新增一行时,无需重新定义公式、编辑公式,本发明会根据SCHEMA自动计算结果并将结果写入对应的单元格中,让录入人员只专注于填写,降低设计与填写的错误率,减少表单设计的工作量。表单设计者在设计表单时,对于某些项无法预知填写情况,则可将这些项设为动态行,有表单录入者自行添加行,以完整表单内容;例如现在需要调查一百个人的家庭情况,表单设计者需要设计一份家庭情况调查表,在表中有一项为“家庭成员信息”,表单设计者并不知道这一百个人的家庭情况,也就不知道应该在“家庭成员信息”这一项下预留几行供他人填写,更不可能逐一询问这一百个人做一百份表单,此时,表单设计者就可以只在“家庭成员信息”这一项下预留一行,并将这一行设置为动态行,表单下发给他人后,由他人根据实际情况自行添加行,以完整表单内容;
其中,在上述技术方案中,获取符合Open XML格式标准的表格数据的具体步骤包括:
按行读取复制区域中不同格式的数据,并转换为SCHEMA数据;
转换过程中,判断复制区域中是否包含合并单元格,若是,则根据补充规则来补充SCHEMA数据的空缺位置,若否,则直接输出SCHEMA数据;
基于所读复制区域中包含的数据,对输出的SCHEMA数据进行校验,并在校验结果不一致时,返回告警信息;
其中补充规则为:根据合并单元格对应的多个单元格,用合并单元格的数据填充集合数据的空缺位置。
其中,在上述技术方案中,公式包括显式公式和隐式公式,所示显式公式对使用者可见,由计算函数、运算符和活动值单元格名称字段组成;隐式公式对使用者不可见,供开发者使用,由计算函数、运算符号、活动值单元格名称字段组成;计算函数至少包括sum函数、average函数、max函数和min函数;运算符至少包括加减乘除运算符、字符串连接运算符。使用者可以通过公式设置界面对公式进行设置。
进一步的,在上述技术方案中,Web表格动态数据绑定方法还包括显式公式转换为隐式公式的步骤。
显式公式转换为隐式公式的流程如下:
显式公式的可见部分虽然是一个字符串,但其实质上是一个公式容器,容器中包含HTML元素,元素分为数据字段类型的元素和非数据字段类型的元素,在双击SCHEMA的数据字段时,会生成一个数据字段类型的HTML元素,元素的内容为数据字段,同时会对HTML元素设置一个“title”属性,其属性值为数据字段的路径,然后将该元素插入到公式容器中;而对于非数据字段(如计算函数、运算符……)类型,会生成非数据字段类型的HTML元素,该类元素无属性可言,其内容即为非数据字段类型的显示名称(如计算函数sum则元素内容为“sum”,运算符“/”则元素内容为“/”);具体的显式公式转换为隐式公式的流程如下:
1) 设置一个空公式字符串str;
2) 获取公式容器中的所有元素,循环;
3) 判断元素有无“title”属性,如果有,则获取该元素的“title”属性值,拼接到str中;如果没有,则获取该元素的显示内容,将其拼接到str中;
4) 如果没有循环完,则重复步骤2)至步骤3),直至循环完成;
5) 输出隐式公式字符串str。
进一步的,在上述技术方案中,如附图3所示,公式的计算步骤如下:
步骤1 计算引擎获取表格中所有公式单元格,公式单元格为设置过公式的单元格;
步骤2 获取公式单元格的“formula”属性的属性值,即获取其公式字符串;
步骤3 解析公式字符串,获取公式计算函数,并获取计算函数中包含的活动值单元格名称字段,将活动值单元格名称字段添加到列表中;
步骤4 循环数据字段列表,根据活动值单元格名称字段在表格中查找“bind”属性为该活动值单元格名称字段的单元格:
步骤4.1如果查找到,则获取单元格的内容,根据公式计算函数进行相应的计算逻辑;
步骤4.2如果没有查找到,则说明该数据字段不存在于SCHEMA中或不是一个数据字段,则此时将此字段记为非数据字段,并将该非数据字段数字化,数字化成功则将让其参与计算,不成功则继续下一步;
步骤5 重复步骤4,直至循环完所有的数据字段,计算出最终的结果,并将结果赋值给公式单元格;
步骤6 重复步骤2至步骤4,直至循环完所有的公式单元格。
其中,非数据字段数字化的例子:如sum(2),括号中的2只代表数字2,无其他意思。
进一步的,在上述技术方案中,如附图4所示,公式的计算步骤中,当遇到动态行时,实现的步骤同步骤1至步骤6之外,还包括在新增一行动态行时自动生成公式并更新行索引的步骤;其中,在新增一行动态行时,自动生成公式及更新行索引的步骤如下:
步骤7.1新增一行动态行后,获取该行中具有bind属性的单元格,并获取其值,即获取其动态活动值单元格名称字段;
步骤7.2解析获取的动态活动值单元格名称字段,获取其中的行索引,假设为A;
步骤7.3获取动态行中具有formula属性的单元格,即获取公式单元格,并获取其身上的公式字符串;
步骤7.4将公式字符串中的行索引更新为A,并将新的公式字符串重新赋值给公式单元格上的formula属性;
步骤7.5计算过程同步骤1至步骤6。
本发明的第二方面提供一种计算机可读存储介质,其中,所述计算机可读存储介质内存储有程序代码,所述程序代码运行时用于实现上述的Web表格动态数据绑定方法。
本发明的第三方面提供一种Web表格动态数据绑定系统,其中,包括上述的计算机可读存储介质。
本发明的原理是:先将符合Open XML格式标准的表格数据按照其结构转化成SCHEMA,再将SCHEMA中的数据字段与表单中的单元格进行绑定,利用SCHEMA中字段进行公式定义,在进行计算时,系统根据公式中的字段,在表单中查找与该字段绑定的单元格,获取单元格内容,从而进行计算。总而言之,舍弃通过单元格位置定义公式、定位单元格的方式,利用SCHEMA中的字段连接单元格与公式,从而达到计算的能力。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种Web表格动态数据绑定方法,其特征在于,所述Web表格采用Html+css+js实现,所述Web表格动态数据绑定方法包括以下步骤:
S10:获取符合Open XML格式标准的表格数据,所述符合Open XML格式标准的表格数据包含固定值单元格和活动值单元格,所述活动值单元格在所述固定值单元格的右侧,所述固定值单元格不为空;
S20:将复制数据粘贴到Web表格内;
S30:对Web表格内的活动值单元格进行数据绑定,绑定数据名称设置为固定值单元格的值,所述活动值单元格还包括动态行;
S40:获取用户对Web表格中指定单元格设置的公式,所述公式中的参数为活动值单元格的绑定数据名称;
S50:根据公式计算所述指定单元格的值;
其中,所述公式包括显式公式和隐式公式,所述显式公式对使用者可见,由计算函数、运算符和活动值单元格名称字段组成;所述隐式公式对使用者不可见,供开发者使用,由计算函数、运算符号、活动值单元格名称字段组成;所述计算函数至少包括sum函数、average函数、max函数和min函数;所述运算符至少包括加减乘除运算符、字符串连接运算符;所述显式公式的可见部分是一个公式容器,容器中包含HTML元素,HTML元素分为数据字段类型的元素和非数据字段类型的元素,在双击SCHEMA的数据字段时,会生成一个数据字段类型的HTML元素,HTML元素的内容为数据字段,同时会对HTML元素设置一个“title”属性,其属性值为数据字段的路径,然后将该HTML元素插入到公式容器中;而对于非数据字段类型,会生成非数据字段类型的HTML元素,该类HTML元素无属性可言,其内容即为非数据字段类型的显示名称。
2.根据权利要求1所述的一种Web表格动态数据绑定方法,其特征在于,所述获取符合Open XML格式标准的表格数据的具体步骤包括:
按行读取复制区域中不同格式的数据,并转换为SCHEMA数据;
转换过程中,判断复制区域中是否包含合并单元格,若是,则根据补充规则来补充SCHEMA数据的空缺位置,若否,则直接输出SCHEMA数据;
基于所读复制区域中包含的数据,对输出的SCHEMA数据进行校验,并在校验结果不一致时,返回告警信息;
其中补充规则为:根据合并单元格对应的多个单元格,用合并单元格的数据填充集合数据的空缺位置。
3.根据权利要求2所述的一种Web表格动态数据绑定方法,其特征在于,所述Web表格动态数据绑定方法还包括显式公式转换为隐式公式的步骤,具体为:
1) 设置一个空公式字符串str;
2) 获取公式容器中的所有元素,循环;
3) 判断元素有无“title”属性,如果有,则获取该元素的“title”属性值,拼接到str中;如果没有,则获取该元素的显示内容,将其拼接到str中;
4) 如果没有循环完,则重复步骤2)至步骤3),直至循环完成;
5) 输出隐式公式字符串str。
4.根据权利要求2所述的一种Web表格动态数据绑定方法,其特征在于,所述公式的计算步骤如下:
步骤1 计算引擎获取表格中所有公式单元格,所述公式单元格为设置过公式的单元格;
步骤2 获取公式单元格的“formula”属性的属性值,即获取其公式字符串;
步骤3 解析公式字符串,获取公式计算函数,并获取计算函数中包含的活动值单元格名称字段,将活动值单元格名称字段添加到列表中;
步骤4 循环数据字段列表,根据活动值单元格名称字段在表格中查找“bind”属性为该活动值单元格名称字段的单元格:
步骤4.1如果查找到,则获取单元格的内容,根据公式计算函数进行相应的计算逻辑;
步骤4.2如果没有查找到,则说明该数据字段不存在于SCHEMA中或不是一个数据字段,则此时将此字段记为非数据字段,并将该非数据字段数字化,数字化成功则将让其参与计算,不成功则继续下一步;
步骤5 重复步骤4,直至循环完所有的数据字段,计算出最终的结果,并将结果赋值给公式单元格;
步骤6 重复步骤2至步骤4,直至循环完所有的公式单元格。
5.根据权利要求4所述的一种Web表格动态数据绑定方法,其特征在于,所述公式的计算步骤中,当遇到动态行时,实现的步骤同步骤1至步骤6之外,还包括在新增一行动态行时自动生成公式并更新行索引的步骤;其中,在新增一行动态行时,自动生成公式及更新行索引的步骤如下:
步骤7.1新增一行动态行后,获取该行中具有bind属性的单元格,并获取其值,即获取其动态活动值单元格名称字段;
步骤7.2解析获取的动态活动值单元格名称字段,获取其中的行索引,假设为A;
步骤7.3获取动态行中具有formula属性的单元格,即获取公式单元格,并获取其身上的公式字符串;
步骤7.4将公式字符串中的行索引更新为A,并将新的公式字符串重新赋值给公式单元格上的formula属性;
步骤7.5计算过程同步骤1至步骤6。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有程序代码,所述程序代码运行时用于实现如权利要求1-5任一项所述的Web表格动态数据绑定方法。
7.一种Web表格动态数据绑定系统,其特征在于,包括如权利要求6所述的计算机可读存储介质。
CN202310286076.4A 2023-03-23 2023-03-23 一种Web表格动态数据绑定方法、介质及系统 Active CN116050362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310286076.4A CN116050362B (zh) 2023-03-23 2023-03-23 一种Web表格动态数据绑定方法、介质及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310286076.4A CN116050362B (zh) 2023-03-23 2023-03-23 一种Web表格动态数据绑定方法、介质及系统

Publications (2)

Publication Number Publication Date
CN116050362A CN116050362A (zh) 2023-05-02
CN116050362B true CN116050362B (zh) 2023-07-04

Family

ID=86120368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310286076.4A Active CN116050362B (zh) 2023-03-23 2023-03-23 一种Web表格动态数据绑定方法、介质及系统

Country Status (1)

Country Link
CN (1) CN116050362B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117009717B (zh) * 2023-09-28 2023-12-22 云粒智慧科技有限公司 Web表格的动态数据计算方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6613098B1 (en) * 1999-06-15 2003-09-02 Microsoft Corporation Storage of application specific data in HTML
CN113297831A (zh) * 2021-06-03 2021-08-24 通号智慧城市研究设计院有限公司 一种Excel生成可校验报表网页的方法和系统
CN113486640A (zh) * 2021-07-23 2021-10-08 苏州浪潮智能科技有限公司 一种生成二维表格的方法、装置、设备及可读介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172217A1 (en) * 2004-02-04 2005-08-04 Yiu-Ming Leung System and method for schemaless data mapping with nested tables
US7752536B2 (en) * 2005-09-09 2010-07-06 Microsoft Corporation Designating, setting and discovering parameters for spreadsheet documents
CN101566948B (zh) * 2009-05-26 2012-03-14 浙江大学 一种表单系统数据源数据绑定方法
US11244105B2 (en) * 2014-12-04 2022-02-08 Google Llc Efficient copy paste in a collaborative spreadsheet
US11080477B2 (en) * 2019-03-19 2021-08-03 Microsoft Technology Licensing, Llc Form-based formula editing in spreadsheets
CN112800735A (zh) * 2021-01-29 2021-05-14 浪潮云信息技术股份公司 一种数据填报系统的构建方法
CN115099915A (zh) * 2022-06-06 2022-09-23 天地科技股份有限公司 基于j2ee和分布式多层体系的财务决算系统及设备
CN115688690B (zh) * 2022-11-16 2023-10-03 金航数码科技有限责任公司 将Word文档内容转换成符合S1000D标准XML片段的动态转换方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6613098B1 (en) * 1999-06-15 2003-09-02 Microsoft Corporation Storage of application specific data in HTML
CN113297831A (zh) * 2021-06-03 2021-08-24 通号智慧城市研究设计院有限公司 一种Excel生成可校验报表网页的方法和系统
CN113486640A (zh) * 2021-07-23 2021-10-08 苏州浪潮智能科技有限公司 一种生成二维表格的方法、装置、设备及可读介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Designing and Implementing Internet Questionnaires Using Microsoft Excel;Iain R. Black等;Australasian Marketing Journal (AMJ);全文 *
从HTML表格自动构建局部本体方法的研究;范莉娅;肖田元;;计算机集成制造系统(第09期);全文 *
提取方正排版文件广义元数据并生成全文HTML的探索;杨海亮;徐用吉;;中国科技期刊研究(第02期);全文 *

Also Published As

Publication number Publication date
CN116050362A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
Irizarry Introduction to data science: Data analysis and prediction algorithms with R
CN111027294B (zh) 表格汇总的方法、装置及系统
CN110292775B (zh) 获取差异数据的方法及装置
CN108228231B (zh) 一种Git仓库文件注解系统的可视化漂移方法
CN116050362B (zh) 一种Web表格动态数据绑定方法、介质及系统
CN101661512A (zh) 一种识别传统表单信息并创建对应Web表单的系统及方法
CN106484699B (zh) 数据库查询字段的生成方法及装置
CN111309313A (zh) 一种快速生成html以及存储表单数据的方法
CN110737591A (zh) 网页性能评估方法、装置、服务器及存储介质
CN114201615B (zh) 基于数据快照的科研数据变动回顾方法及服务器
Ferdowsi et al. Live exploration of AI-generated programs
CN113160914A (zh) 在线问诊方法、装置、电子设备及存储介质
US20060095841A1 (en) Methods and apparatus for document management
WO1992003775A1 (en) Chemical calculator
CN115618841A (zh) 一种文档导出方法、装置、设备及存储介质
Cunha et al. Explaining spreadsheets with spreadsheets (short paper)
Gulliksen et al. Analysis of information utilization (AIU)
Paulson et al. SOUSA: Sketch-based Online User Study Applet.
CN114154456A (zh) 一种文档内信息的处理方法、装置、设备及介质
JP2005321849A (ja) データ分析支援プログラム、データ分析支援方法、およびデータ分析支援装置
CN108733353B (zh) 一种界面构造方法和装置
She et al. An automatic page code generation method based on excel template and poi technology
CN115169302B (zh) 一种基于在线表格文档的数据收集方法、装置及存储介质
CN114936385B (zh) 一种基于excel生成工作流的方法及系统
CN116451662A (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