CN102024039B - 基于eoms系统的表单生成方法 - Google Patents

基于eoms系统的表单生成方法 Download PDF

Info

Publication number
CN102024039B
CN102024039B CN 201010576192 CN201010576192A CN102024039B CN 102024039 B CN102024039 B CN 102024039B CN 201010576192 CN201010576192 CN 201010576192 CN 201010576192 A CN201010576192 A CN 201010576192A CN 102024039 B CN102024039 B CN 102024039B
Authority
CN
China
Prior art keywords
list
essential information
cell
prototype
html
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
CN 201010576192
Other languages
English (en)
Other versions
CN102024039A (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.)
Beijing Shenzhou Taiyue Software Co Ltd
Original Assignee
Beijing Shenzhou Taiyue Software 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 Beijing Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN 201010576192 priority Critical patent/CN102024039B/zh
Publication of CN102024039A publication Critical patent/CN102024039A/zh
Application granted granted Critical
Publication of CN102024039B publication Critical patent/CN102024039B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于EOMS系统的表单生成方法,包括:根据EOMS中表单编辑器创建表单原型;将表单原型转换成HTML标签语言;对HTML标签语言中的元素按行遍历,遍历时解析HTML标签语言的单元格基本信息,并将标签语言中相同列位置的不同单元格基本信息放入一个数组中,数组中的每个元素包含一个单元格基本信息,并将以列位置为关键码值将数组放入散列表;遍历散列表中的单元格基本信息,将单元格基本信息转换成字段保存到数据库或以XML格式的文件保存在磁盘;以所述数据库表格或XML文件为表单模型结合实际的业务数据生成表单。本发明实现了快速、高效地生成表单,并能实现快速查询功能,并通过多种方式获取表单原型,扩展了现有智能表单程序的使用范围。

Description

基于EOMS系统的表单生成方法
技术领域
本发明涉及信息管理技术领域,特别涉及一种基于EOMS系统的表单生成方法。
背景技术
随着企业信息化的深入发展,智能表单逐渐被大家所认知,使用具有传统纸张特性的数字文档已成为当前趋势。数字文档使原来基于纸张的使用习惯、制度法规、工作方式等都能平滑过渡到数字形态,为推进信息化提供了有力支持,提高人们的工作效率。其中,表单的电子化和智能化也就是智能表单数字文档中一项很重要的内容。
EOMS系统的需要处理海量的设备维护信息,不同的信息都需要对应不同的表单,这些表单的字段数量和样式都有很大差异。传统的软件系统创建表单基本是完全用代码的,EOMS系统为了更快速响应用户需要。实现了可视化、所见即所得的智能表单功能。该技术使企业用户可以方便的自助地编制和分发表单。
EOMS的智能表单功能一个重要的特征就是需要把业务表单信息转换为表单模型。通过研究,现有的智能表单普遍都存在缺陷。主要体现在建模操作复杂,字段较多的表单性能低下,无法快速检索用户保存的表单数据。甚至有些智能表单模型无法实现检索功能。
目前,还没有一个好的智能表单可以解决上述问题,原始的做法将极大提高EOMS系统的实施成本,甚至造成项目的延期和失败。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何快速、高效地生成表单,并能实现快速查询功能。
(二)技术方案
为解决上述技术问题,本发明提供了一种基于EOMS系统的表单生成方法,包括以下步骤:
S1:根据EOMS中表单编辑器创建表单原型;
S2:将所述表单原型转换成HTML标签语言;
S3:对所述HTML标签语言中的元素按行遍历,遍历时解析HTML标签语言的单元格基本信息,并将标签中的不同元素以列位置的下标区分,每列分别创建一个动态数组,然后将模板单元格对象放入数组,数组中对象的排列顺序需要和单元格在标签语言中的位置相同,数组中的每个元素包含一个单元格基本信息,并将以列位置为关键码值将所述数组放入散列表;
S4:遍历散列表中的单元格基本信息,将所述单元格基本信息转换成字段保存到数据库或以XML格式的文件保存在磁盘,转换时以每一个单元格对象为XML文件的一个节点,节点的属性为模板单元格对象中单元格基本信息;
S5:以所述步骤S4中的数据库表格或所述XML文件为表单模型结合实际的业务数据生成表单。
其中,所述步骤S1中创建表单原型的具体方式包括以下几种:
使用表单编辑器自带的控件创建表单原型;
表单编辑器处理剪贴板中的数据,通过复制,粘贴操作将文件中表单作为表单原型;
直接指定磁盘中的文件创建表单原型;
对于无法用上述方法处理的表单直接在编辑器中以标准的HTML创建表单原型。
其中,所述文件包含EXCEL、WORD和PDF文件。
其中,所述步骤S2中转换方式包括以下几种:
根据每种类型控件都内置的相应HTML代码实现转换;
利用JAVASCRIPT解析剪贴板中的格式化数据;
获得的文件的文本数据后,按照制表符\t,将文本数据分割得到格子和行信息,并将其直接转换为HTML格式文本;
利用Apache的POI工具实现转换。
其中,所述单元格基本信息包括:单元格的位置、单元格具体的描述信息及类型属性。
(三)有益效果
本发明通过以散列方式建立表单模型实现了快速、高效地生成表单,并能实现快速查询功能,并通过多种方式获取表单原型,扩展了现有智能表单程序的使用范围。
附图说明
图1是本发明实施例的一种基于EOMS系统的表单生成方法流程图;
图2是本发明中表单原型HTML标签描述示意图;
图3是本发明中表单模型的数据动态存储结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明包括:
步骤S101,根据EOMS中表单编辑器创建表单原型。具体创建表单原型的具体方式包括以下几种:
1、使用表单编辑器自带的控件,只需要简单地拖拽即可创建表单原型;
2、表单编辑器处理剪贴板中的数据,通过复制,粘贴操作将文件中表单作为表单原型;
3、直接指定磁盘中的文件创建表单原型;
4、对于无法用上述方法处理的表单直接在编辑器中以标准的HTML创建表单原型。
其中,上述2、3和4中所述的文件包含EXCEL、WORD和PDF等文件。
步骤S102,将表单原型转换成HTML标签语言。具体转换方法包括以下几种:
1、根据每种类型控件都内置的相应HTML代码实现转换;
2、利用JAVASCRIPT解析剪贴板中的格式化数据,处理方式为在表单编辑器中注册ONKEYDOWN事件,当用户按下粘贴操作的时候,将焦点转移到一个标签上,之后再将焦点转移,从表单编辑器中将值取到。这样就取到了剪贴板内文本数据。以EXCEL格式的数据举例,其格式为:
  数据1  数据1  数据1
  数据2  数据2  数据2
  数据3  数据3  数据3
获得的Excel的文本数据后,按照制表符\t,分割文本数据得到格子和行信息,并将其直接转换为HTML格式文本。
3、获得的文件的文本数据后,按照\t,将文本数据分割得到格子和行信息,并将其直接转换为HTML格式文本;
4、利用Apache的POI工具实现转换,POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能,其中包括:HSSF提供读写Microsoft Excel格式档案的功能。XSSF提供读写Microsoft Excel OOXML格式档案的功能;HWPF提供读写Microsoft Word格式档案的功能;HSLF提供读写MicrosoftPowerPoint格式档案的功能;HDGF提供读写Microsoft Visio格式档案的功能。
转换后格式如图2所示,其中TR为HTML标签中的行标示,TD为HTML标签中的列标示,TD后的数字为行列标号。
步骤S103,对HTML标签语言中的元素按行遍历,遍历可采用深度优先和广度优先遍历,本发明采用了传统的深度优先的递归遍历算法。遍历时解析HTML标签语言的单元格基本信息,具体地,创建模板单元格对象,模板单元格对象中包含单元格基本信息,包括单元格的位置、属性及类型属性,其中,属性是单元格具体的描述信息。比如单元格长度,颜色,约束等信息,类型属性是单元格用哪种类型展示表单,类型如:文本、文本域、多选、单项、时间和树图等。将解析后的HTML单元格基本信息赋值给模板单元格对象。并将标签语言中相同列位置的不同单元格基本信息放入一个数组中,数组中的每个元素包含一个单元格基本信息,具体地,将标签中的不同元素以列位置的下标区分,每列分别创建一个动态数组,然后将模板单元格对象放入数组,数组中对象的排列顺序需要和单元格在标签语言中的位置相同。然后创建散列表结构,以列位置为关键码值将动态数组放入散列表。即表单模型对象为散列表结构,因为每个表单对应的行列数量不同。所以建立的表单模型对应的属性的数量也不同。例如:若有N行M列的表单原型。则建立的表单模型对象包含M个属性列对象。每个属性列对象中又包含N个模板单元格对象。为了使模型对象可以包含不同的单元格对象。所以模型对象需要采用散列表的数据结构,M列的HTML标签语言,将会创建M个动态数组,数组中顺序排列每列的模板单元格对象。
步骤S104,遍历散列表中的单元格基本信息,将单元格基本信息转换成字段保存到数据库或以XML格式的文件保存在磁盘,具体地,转换时以每一个单元格对象为XML文件的一个节点。节点的属性为模板单元格对象中单元格基本信息。单元格的父节点既为表单的列位置。格式如下:<node><node><TEXTAREA name=″formMap.X2_X1″class=″TABLEBORDER″></TEXTAREA></node></node>。根据散列表中存储的单元格对象中单元格基本信息生成动态的数据存储结构,可以是数据库表格,也可以是磁盘中的XML文件,其数据存储结构如图3所示。首先需要对遍历表单模型对象(散列表)中元素,以动态数组的最大数量n为标准,生成包含n+1个字段的数据库表格。名称以column开头的字段以每列的位置为下标。名称为row的字段用来保存表单的行位置的数据。基于XML文件动态的数据存储结构需要用节点的方式存储,即,节点描述-行节点-列节点-单元格节点的方式存储<node><row Positon=’n’><col Positon=’n’><cell></cell></col></row></node>。
步骤S105,以步骤S104中的数据库表格或磁盘中的XML文件为表单模型结合实际的业务数据生成表单,通过接口从其它业务系统中获取的或用户从界面接口中录入实际的业务数据。将实际业务数据的数据值,录入表单模型的对应单元格中。
如需要搜索数据库中的对象,可以先建立搜索器,指定数据所在的行或列位置。从智能表单模型中可以直接取出业务数据。如果需要模糊搜索。可采用以下算法。如果表格为空且已经选出了最后行,则找到一个完美覆盖,成功返回;否则选取一个列c,如果c列中不存在1的话,不成功返回,选择c列中每一个满足A[r,c]=1的行r;将r值作为解决方案的一个步骤记录下来;对于r行中每一个A[r,j]=1的j值,从矩阵A中将第j列删除;对于j列中每一个A[i,j]=1的i值,从矩阵A中将第i行删除;将已经缩小的表格重复进行上面的运算。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (5)

1.一种基于EOMS系统的表单生成方法,其特征在于,包括以下步骤:
S1:根据EOMS中表单编辑器创建表单原型;
S2:将所述表单原型转换成HTML标签语言;
S3:对所述HTML标签语言中的元素按行遍历,遍历时解析HTML标签语言的单元格基本信息,并将标签中的不同元素以列位置的下标区分,每列分别创建一个动态数组,然后将模板单元格对象放入数组,数组中对象的排列顺序需要和单元格在标签语言中的位置相同,数组中的每个元素包含一个单元格基本信息,并将以列位置为关键码值将所述数组放入散列表;
S4:遍历散列表中的单元格基本信息,将所述单元格基本信息转换成字段保存到数据库或以XML格式的文件保存在磁盘,转换时以每一个单元格对象为XML文件的一个节点,节点的属性为模板单元格对象中单元格基本信息;
S5:以所述步骤S4中的数据库表格或所述XML文件为表单模型结合实际的业务数据生成表单。
2.如权利要求1所述的基于EOMS系统的表单生成方法,其特征在于,所述步骤S1中创建表单原型的具体方式包括以下几种:
使用表单编辑器自带的控件创建表单原型;
表单编辑器处理剪贴板中的数据,通过复制,粘贴操作将文件中表单作为表单原型;
直接指定磁盘中的文件创建表单原型;
对于无法用上述方法处理的表单直接在编辑器中以标准的HTML创建表单原型。
3.如权利要求2所述的基于EOMS系统的表单生成方法,其特征在于,所述文件包含EXCEL、WORD和PDF文件。
4.如权利要求2所述的基于EOMS系统的表单生成方法,其特征在于,所述步骤S2中转换方式包括以下几种:
根据每种类型控件都内置的相应HTML代码实现转换;
利用JAVASCRIPT解析剪贴板中的格式化数据;
获得的文件的文本数据后,按照制表符\t,将文本数据分割得到格子和行信息,并将其直接转换为HTML格式文本;
利用Apache的POI工具实现转换。
5.如权利要求1~4中任一项所述的基于EOMS系统的表单生成方法,其特征在于,所述单元格基本信息包括:单元格的位置、单元格具体的描述信息及类型属性。
CN 201010576192 2010-12-01 2010-12-01 基于eoms系统的表单生成方法 Active CN102024039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010576192 CN102024039B (zh) 2010-12-01 2010-12-01 基于eoms系统的表单生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010576192 CN102024039B (zh) 2010-12-01 2010-12-01 基于eoms系统的表单生成方法

Publications (2)

Publication Number Publication Date
CN102024039A CN102024039A (zh) 2011-04-20
CN102024039B true CN102024039B (zh) 2012-09-05

Family

ID=43865336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010576192 Active CN102024039B (zh) 2010-12-01 2010-12-01 基于eoms系统的表单生成方法

Country Status (1)

Country Link
CN (1) CN102024039B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184166A (zh) * 2011-05-09 2011-09-14 江西省电力公司信息通信中心 基于办公软件Excel表单转换为InfoPath表单的方法
CN103544006B (zh) * 2013-09-16 2016-08-17 青岛英网资讯股份有限公司 自定义表单的方法及表单绘制方法
CN104572050A (zh) * 2013-10-18 2015-04-29 镇江鼎拓科技信息有限公司 一种基于saas的出版物平台图形生成方法
CN104090850B (zh) * 2014-06-24 2017-07-14 上海铀尼信息科技有限公司 在线表格系统及其数据管理方法
CN105867886B (zh) * 2015-01-19 2020-03-10 阿里巴巴集团控股有限公司 一种写表格的方法及装置
CN104765720A (zh) * 2015-03-26 2015-07-08 浪潮通信信息系统有限公司 一种录入传输专业点资源的方法和装置
CN105302550B (zh) * 2015-10-12 2019-03-26 江苏中威科技软件系统有限公司 将页面转为版式数据流文件的方法及系统
CN105608556A (zh) * 2015-12-18 2016-05-25 浪潮软件集团有限公司 一种数据交互的方法及装置
CN107248065A (zh) * 2017-06-08 2017-10-13 中国建设银行股份有限公司 线上报表管理方法、系统、装置及存储介质
CN110019306B (zh) * 2017-12-27 2021-08-31 航天信息股份有限公司 一种基于xml格式文件的sql语句查找方法及系统
CN109492196B (zh) * 2018-09-18 2022-11-25 西安葡萄城信息技术有限公司 一种Excel表格数据提取的系统和方法
CN109284292A (zh) * 2018-09-28 2019-01-29 广东电网有限责任公司 一种移动式作业表单的生成方法、生成系统及相关装置
CN112632940A (zh) * 2021-01-02 2021-04-09 浙江建达科技股份有限公司 将word格式申请表自动转化成在线填报网页的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282539B1 (en) * 1998-08-31 2001-08-28 Anthony J. Luca Method and system for database publishing
CN1741020A (zh) * 2005-09-29 2006-03-01 北京勤哲软件技术有限责任公司 用关系型数据库存储电子表格单元格内容的方法
CN101452441A (zh) * 2008-12-05 2009-06-10 山东浪潮齐鲁软件产业股份有限公司 一种电子表格通用数据解析导入方法
CN101650711A (zh) * 2009-08-18 2010-02-17 深圳市科陆电子科技股份有限公司 一种报表的生成方法
CN101794280A (zh) * 2010-03-11 2010-08-04 北京中科辅龙计算机技术股份有限公司 一种基于表格模板集的表格自动生成方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2007006931A (es) * 2004-12-14 2007-06-26 Carrier Corp Sistema y metodo para importar y exportar desde un programa de modelado solido.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282539B1 (en) * 1998-08-31 2001-08-28 Anthony J. Luca Method and system for database publishing
CN1741020A (zh) * 2005-09-29 2006-03-01 北京勤哲软件技术有限责任公司 用关系型数据库存储电子表格单元格内容的方法
CN101452441A (zh) * 2008-12-05 2009-06-10 山东浪潮齐鲁软件产业股份有限公司 一种电子表格通用数据解析导入方法
CN101650711A (zh) * 2009-08-18 2010-02-17 深圳市科陆电子科技股份有限公司 一种报表的生成方法
CN101794280A (zh) * 2010-03-11 2010-08-04 北京中科辅龙计算机技术股份有限公司 一种基于表格模板集的表格自动生成方法及系统

Also Published As

Publication number Publication date
CN102024039A (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
CN102024039B (zh) 基于eoms系统的表单生成方法
CN101840400B (zh) 一种多级分类检索方法及系统
JP5576455B2 (ja) Bimデータファイルに含まれたデータを提供する方法、それを記録した記録媒体、およびそれを含むシステム
JP6262874B2 (ja) データベース実現方法
JP5152877B2 (ja) 文書ベースシステムにおける文書データ記憶方法およびその装置
CN104035754A (zh) 一种基于xml的自定义代码生成方法及生成器
CN102193906A (zh) Word格式试卷自动导入数据库系统的方法
CN102663103A (zh) 可配置的自动化生成数据库和数据访问的方法
CN104715032A (zh) 一种报表系统中英文表名字段名映射系统及方法
CN102467521A (zh) 一种易扩展的多级分类检索方法及系统
CN105893634A (zh) 一种报表生成方法及装置
CN101706813B (zh) 一种基于自适应机制的地图符号库管理系统及方法
CN103778172A (zh) 一种试卷信息保存方法及一种试卷编辑方法和系统
CN107506477A (zh) 一种档案管理系统
CN105701251A (zh) 一种基于对象定义的数据导出导入方法
CN102982127A (zh) 批量替换字符串实现多国语言版本的方法及批量处理装置
CN101408882B (zh) 一种授权文档的检索方法和系统
CN101916260A (zh) 一种灾害本体和关系数据库间语义映射构建的方法
CN101799890B (zh) 证照数据处理方法和系统
CN111625596B (zh) 新能源实时消纳调度的多源数据同步共享方法及系统
CN102279886B (zh) 元数据处理方法及设备
CN105740997A (zh) 一种控制任务流程的方法、装置及数据库管理系统
CN101281524A (zh) 一种获取素材的方法及装置
US20070220033A1 (en) System and method for providing simple and compound indexes for XML files
CN103164468A (zh) 专利分类管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.

Address before: 100107, No. 1, building 13, court 22, Beiyuan Road, Beijing, Chaoyang District

Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.