界面数据输出装置和界面数据输出方法

文档序号:6399863阅读:179来源:国知局
专利名称:界面数据输出装置和界面数据输出方法
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种界面数据输出装置和一种界面数据输出方法。
背景技术
WinForm界面一般不会像Html界面元素可通过Table结构化,一个结构松散的WinForm界面,例如一些管理软件中提供的自定义单据,其界面元素大小和分布不一且交叉,没有行和列的概念,不能直接输出到如Excel这样的办公软件;而自带的导出格式又不能被通用的办公软件识别,互操作性差;如果能有一个装置,可以将结构松散的界面结构化按通用标准输出成其他软件可识别的输出,那么就可为用户实现在其他软件中编辑数据、复制、粘贴等操作,无疑增加了本产品的易用性,和与其他软件的互操作性。因此,需要一种界面数据输出技术,可将结构松散的界面元素行列化输出。

发明内容
本发明正是基于上述问题,提出了一种新的界面数据输出技术,可将结构松散的界面元素行列化输出。有鉴于此,根据本发明的一个方面,提供了一种界面数据输出装置,包括:采集单元,用于采集界面元素的信息;行列划分单元,用于根据所述界面元素的信息生成行列划分依据参数;处理单元,比较所述界面元素的信息和所述行列划分依据参数,得到各界面元素的行列信息;导出单元,根据所述行列划分依据参数设置导出目标的格式信息,按照所述格式信息和所述界面元素的信息输出所述导出目标。界面元素信息参数的采集,需要考虑多行多列的表格元素,生成的合理的行列划分依据参数,可以保证实现高效率的目标导出,为将Winform界面行列化输出提供了一个很好的解决方案,并且在运行过程中所产生的参数信息,可为实现界面的复制、粘贴、界面的自适应显不等操作提供基础。在上述技术方案中,优选的,所述采集单元包括:遍历子单元,遍历每个所述界面元素,分别将多行多列的界面元素的信息和单行单列的界面元素的信息保存至界面元素信息参数表,其中所述界面元素的信息包括元素名称、元素类型、元素左上角点坐标和/或元素右下角点坐标;调整子单元,调整所述界面元素信息参数表中坐标有交集的界面元素的坐标,根据所述多行多列的界面元素在导出时的所占区域,调整所述界面元素信息参数表中相应界面元素的坐标。在界面元素的区域发生交集时,可对发生交集的界面元素的坐标进行调整,以保证准确输出界面元素。在上述技术方案中,优选的,所述行列划分单元包括:提取子单元,提取所述界面元素信息参数表中的界面元素的坐标并对提取出的坐标进行排序;排除子单元,去除重复的坐标,并将处理结果作为所述行列划分依据参数,将所述行列划分依据参数保存至行列划分依据参数表。在上述技术方案中,优选的,所述处理单元具体用于针对每个所述界面元素,根据所述元素参数对照表中的左上角点坐标和右下角点坐标在所述行列划分依据参数表中的行列划分依据参数中的位置,确定所述界面元素的起始列信息、终止列信息和起始行信息、终止行信息。在上述任一技术方案中,优选的,所述格式信息包括所述导出目标的行列数、行列宽度和/或行列高度;所述导出单元包括:生成子单元,用于根据所述界面元素的信息设置合并单元格,根据所述合并单元格和所述格式信息生成所述导出目标的宏、样式表和/或脚本信息,基于所述导出目标的宏、样式表和/或脚本信息输出所述导出目标。通过上述技术方案,可以实现一种界面的行列化输出装置,通过该装置可将无结构的窗口元素实现结构化输出,如将用户自定义单据导出成Excel、Html> xml等结构化文档,延伸的引用是还可将编辑后的文档再载入、或实现粘贴操作等,以增加软件产品的易用性和办公软件间的互操作性。根据本发明的又一方面,还提供了一种界面数据输出方法,包括:步骤602,采集界面元素的信息;步骤604,根据所述界面元素的信息生成行列划分依据参数;步骤606,比较所述界面元素的信息和所述行列划分依据参数,得到各界面元素的行列信息;步骤608,根据所述行列划分依据参数设置导出目标的格式信息,按照所述格式信息和所述界面元素的信息输出所述导出目标。界面元素信息参数的采集,需要考虑多行多列的表格元素,生成的合理的行列划分依据参数,可以保证实现高效率的目标导出,为将Winform界面行列化输出提供了一个很好的解决方案,并且在运行过程中所产生的参数信息,可为实现界面的复制、粘贴、界面的自适应显不等操作提供基础。在上述技术方案中,优选的,所述步骤602具体包括:遍历每个所述界面元素,分别将多行多列的界面元素的信息和单行单列的界面元素的信息保存至界面元素信息参数表,其中所述界面元素的信息包括元素名称、元素类型、元素左上角点坐标和/或元素右下角点坐标;调整所述界面元素信息参数表中坐标有交集的界面元素的坐标,根据所述多行多列的界面元素在导出时的所占区域,调整所述界面元素信息参数表中相应界面元素的坐标。在界面元素的区域发生交集时,可对发生交集的界面元素的坐标进行调整,以保证准确输出界面元素。在上述技术方案中,优选的,所述步骤604具体包括:提取所述界面元素信息参数表中的界面元素的坐标并对提取出的坐标进行排序;去除重复的坐标,并将处理结果作为所述行列划分依据参数,将所述行列划分依据参数保存至行列划分依据参数表。在上述技术方案中,优选的,所述步骤606具体包括:针对每个所述界面元素,根据所述元素参数对照表中的左上角点坐标和右下角点坐标在所述行列划分依据参数表中的行列划分依据参数中的位置,确定所述界面元素的起始列信息、终止列信息和起始行信息、终止行信息。在上述任一技术方案中,优选的,所述格式信息包括所述导出目标的行列数、行列宽度和/或行列高度;所述步骤608具体包括:根据所述界面元素的信息设置合并单元格,根据所述合并单元格和所述格式信息生成所述导出目标的宏、样式表和/或脚本信息,基于所述导出目标的宏、样式表和/或脚本信息输出所述导出目标。通过上述技术方案,可以实现一种界面的行列化输出方法,通过该装置可将无结构的窗口元素实现结构化输出,如将用户自定义单据导出成Excel、Html> xml等结构化文档,延伸的引用是还可将编辑后的文档再载入、或实现粘贴操作等,以增加软件产品的易用性和办公软件间的互操作性。


图1示出了根据本发明的实施例的界面数据输出装置的框图;图2示出了根据本发明的一个实施例的界面数据输出方法的流程图;图3示出了根据本发明的又一实施例的界面数据输出方法的流程图;图4示出了根据本发明的实施例的需进行输出处理的界面图;图5示出了针对图4所示的界面图的界面行列化输出图;图6示出了根据本发明的实施例的界面数据输出方法的流程图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。图1示出了根据本发明的实施例的界面数据输出装置的框图。如图1所示,根据本发明的实施例的界面数据输出装置100,包括:采集单元102,用于采集界面元素的信息;行列划分单元104,用于根据所述界面元素的信息生成行列划分依据参数;处理单元106,比较所述界面元素的信息和所述行列划分依据参数,得到各界面元素的行列信息;导出单元108,根据所述行列划分依据参数设置导出目标的格式信息,按照所述格式信息和所述界面元素的信息输出所述导出目标。界面元素信息参数的采集,需要考虑多行多列的表格元素,生成的合理的行列划分依据参数,可以保证实现高效率的目标导出,为将Winform界面行列化输出提供了一个很好的解决方案,并且在运行过程中所产生的参数信息,可为实现界面的复制、粘贴、界面的自适应显不等操作提供基础。在上述技术方案中,优选的,所述采集单元102包括:遍历子单元1022,遍历每个所述界面元素,分别将多行多列的界面元素的信息和单行单列的界面元素的信息保存至界面元素信息参数表,其中所述界面元素的信息包括元素名称、元素类型、元素左上角点坐标和/或元素右下角点坐标;调整子单元1024,调整所述界面元素信息参数表中坐标有交集的界面元素的坐标,根据所述多行多列的界面元素在导出时的所占区域,调整所述界面元素信息参数表中相应界面元素的坐标。在界面元素的区域发生交集时,可对发生交集的界面元素的坐标进行调整,以保证准确输出界面元素。在上述技术方案中,优选的,所述行列划分单元104包括:提取子单元1042,提取所述界面元素信息参数表中的界面元素的坐标并对提取出的坐标进行排序;排除子单元1044,去除重复的坐标,并将处理结果作为所述行列划分依据参数,将所述行列划分依据参数保存至行列划分依据参数表。在上述技术方案中,优选的,所述处理单元106具体用于针对每个所述界面元素,根据所述元素参数对照表中的左上角点坐标和右下角点坐标在所述行列划分依据参数表中的行列划分依据参数中的位置,确定所述界面元素的起始列信息、终止列信息和起始行信息、终止行信息。在上述任一技术方案中,优选的,所述格式信息包括所述导出目标的行列数、行列宽度和/或行列高度;所述导出单元108包括:生成子单元1082,用于根据所述界面元素的信息设置合并单元格,根据所述合并单元格和所述格式信息生成所述导出目标的宏、样式表和/或脚本信息,基于所述导出目标的宏、样式表和/或脚本信息输出所述导出目标。通过上述技术方案,可以实现一种界面的行列化输出装置,通过该装置可将无结构的窗口元素实现结构化输出,如将用户自定义单据导出成Excel、Html> xml等结构化文档,延伸的引用是还可将编辑后的文档再载入、或实现粘贴操作等,以增加软件产品的易用性和办公软件间的互操作性。图2示出了根据本发明的一个实施例的界面数据输出方法的流程图。步骤202,遍历传入的界面容器的界面元素,获取各元素信息并保存到参数表;步骤204,从参数表中提取信息,分别生成行和列的坐标信息,并保存到行列划分依据参数;步骤206,元素信息参数表比对行列划分依据参数表,生成各界面元素的起始行列和行列合并信息;步骤208,根据元素信息参数表生成目标导出。其中,步骤202具体可以包括:遍历界面元素,分别将多行多列的元素和独行都列的元素信息:元素名称、下标(元素为数组时)、元素类型、元素左上角点坐标(Xl,yi)、元素右下角点坐标(X2,Y2)保存到元素信息参数表;处理元素信息参数表中元素界面区域有交集的元素,调整位置靠前的元素右下角点坐标,使之与右侧和下方元素无交集;根据多行多列元素右侧实际导出所占区域,调节元素信息参数表中多行多列元素右侧和下方元素的点坐标。其中,所述步骤604具体可以包括:提取元素信息参数表中Xl,X2点坐标并对提取出的坐标进行快速排序,去除重复点坐标,将处理结果保存到列划分依据参数表中;提取元素信息参数表中的I1, I2点坐标进行快速排序,去除重复点坐标,结果保存到行划分参数依据对照表。其中,所述步骤606具体可以包括:将元素参数对照表中的X1点坐标对比列划分参数表,得出该元素的起始列;将元素参数对照表中的X2点坐标对比列划分依据参数表,得出该元素的终止列;同理得出元素的起始行和终止行信息。所述步骤608具体可以包括:根据行列划分依据参数表设置目标导出的行列数、行列宽度、高度信息,根据元素信息表设置合并单元格,基于这些设置参数生成目标导出的宏或样式表、或控制相关的脚本信息,导出元素内容。下面结合图3进一步说明根据本发明的技术方案。
如图3所示,在步骤302,从调用者接收需要输出的界面容器,也可如保存了界面信息的数据库或文件数据。在步骤304,遍历界面元素,分别将多行多列的元素和独行都列的元素信息:元素名称、下标(元素为数组时)、元素类型、元素左上角点坐标(Xl,yi)、元素右下角点坐标(x2,y2)保存到元素信息参数表。在步骤306,处理元素信息参数表中元素界面区域有交集的元素,调整位置靠前的元素右下角点坐标,使之与右侧和下方元素无交集。在步骤308,根据多行多列元素右侧实际导出所占区域,调节参数表中多行多列元素右侧和下方元素的点坐标。在步骤310,提取元素信息参数表中X1, X2点坐标进行快速排序,去除重复点坐标,结果保存到列划分参数对照表;提取元素信息参数表中1Χ,12点坐标进行快速排序,去除重复点坐标,结果保存到行划分依据参数表。在步骤312,将元素参数对照表中X1点坐标对比列划分依据参数表,得出该元素的起始列;将元素参数对照表中X2点坐标对比列划分依据参数表,得出该元素的终止列;同理得出元素的起始行和终止行信息。在步骤314,根据行列划分依据参数表设置目标导出的行列数、行列宽度、高度信息,根据界面元素信息参数表设置合并单元格,生成目标导出的宏或样式表、或控制相关的脚本信息,导出元素内容。基于本发明的界面元素输出方法,对图4所示的界面进行行列化输出,得到如图5所示的准确的目标导出。针对图4所示的界面中界面元素,采集的横向点坐标信息和纵向点坐标信息分别如下表I和表2所示,即得到界面元素信息参数表。
权利要求
1.种界面数据输出装置,其特征在于,包括: 采集单元,用于采集界面元素的信息; 行列划分单元,用于根据所述界面元素的信息生成行列划分依据参数; 处理单元,比较所述界面元素的信息和所述行列划分依据参数,得到各界面元素的行列信息; 导出单元,根据所述行列划分依据参数设置导出目标的格式信息,按照所述格式信息和所述界面元素的信息输出所述导出目标。
2.据权利要求1所述的界面数据输出装置,其特征在于,所述采集单元包括: 遍历子单元,遍历每个所述界面元素,分别将多行多列的界面元素的信息和单行单列的界面元素的信息保存至界面元素信息参数表,其中所述界面元素的信息包括元素名称、元素类型、元素左上角点坐标和/或元素右下角点坐标; 调整子单元,调整所述界面元素信息参数表中坐标有交集的界面元素的坐标,根据所述多行多列的界面元素在导出时的所占区域,调整所述界面元素信息参数表中相应界面元素的坐标。
3.据权利要求2所述的界面数据输出装置,其特征在于,所述行列划分单元包括: 提取子单元,提取所述界面元素信息参数表中的界面元素的坐标并对提取出的坐标进行排序; 排除子单元,去除重复的坐标,并将处理结果作为所述行列划分依据参数,将所述行列划分依据参数保存至行列 划分依据参数表。
4.据权利要求3所述的界面数据输出装置,其特征在于,所述处理单元具体用于针对每个所述界面元素,根据所述元素参数对照表中的左上角点坐标和右下角点坐标在所述行列划分依据参数表中的行列划分依据参数中的位置,确定所述界面元素的起始列信息、终止列信息和起始行信息、终止行信息。
5.据权利要求1至4中任一项所述的界面数据输出装置,其特征在于,所述格式信息包括所述导出目标的行列数、行列宽度和/或行列高度; 所述导出单元包括:生成子单元,用于根据所述界面元素的信息设置合并单元格,根据所述合并单元格和所述格式信息生成所述导出目标的宏、样式表和/或脚本信息,基于所述导出目标的宏、样式表和/或脚本信息输出所述导出目标。
6.种界面数据输出方法,其特征在于,包括: 步骤602,采集界面元素的信息; 步骤604,根据所述界面元素的信息生成行列划分依据参数; 步骤606,比较所述界面元素的信息和所述行列划分依据参数,得到各界面元素的行列信息; 步骤608,根据所述行列划分依据参数设置导出目标的格式信息,按照所述格式信息和所述界面元素的信息输出所述导出目标。
7.据权利要求6所述的界面数据输出方法,其特征在于,所述步骤602具体包括: 遍历每个所述界面元素,分别将多行多列的界面元素的信息和单行单列的界面元素的信息保存至界面元素信息参数表,其中所述界面元素的信息包括元素名称、元素类型、元素左上角点坐标和/或元素右下角点坐标;调整所述界面元素信息参数表中坐标有交集的界面元素的坐标,根据所述多行多列的界面元素在导出时的所占区域,调整所述界面元素信息参数表中相应界面元素的坐标。
8.据权利要求7所述的界面数据输出方法,其特征在于,所述步骤604具体包括: 提取所述界面元素信息参数表中的界面元素的坐标并对提取出的坐标进行排序; 去除重复的坐标,并将处理结果作为所述行列划分依据参数,将所述行列划分依据参数保存至行列划分依据参数表。
9.据权利要求8所述的界面数据输出方法,其特征在于,所述步骤606具体包括: 针对每个所述界面元素,根据所述元素参数对照表中的左上角点坐标和右下角点坐标在所述行列划分依据参数表中的行列划分依据参数中的位置,确定所述界面元素的起始列信息、终止列信息和起始行信息、终止行信息。
10.据权利要求6至9中任一项所述的界面数据输出方法,其特征在于,所述格式信息包括所述导出目标的行列数、行列宽度和/或行列高度; 所述步骤608具体包括:根据所述界面元素的信息设置合并单元格,根据所述合并单元格和所述格式信息生成所述导出目标的宏、样式表和/或脚本信息,基于所述导出目标的宏、样式表和/或脚本 信息输出所述导出目标。
全文摘要
本发明提供了一种界面数据输出装置和一种界面数据输出方法,其中,界面数据输出装置包括采集单元,用于采集界面元素的信息;行列划分单元,用于根据界面元素的信息生成行列划分依据参数;处理单元,比较界面元素的信息和行列划分依据参数,得到各界面元素的行列信息;导出单元,根据行列划分依据参数设置导出目标的格式信息,按照格式信息和界面元素的信息输出导出目标。通过本发明的技术方案,可将结构松散的界面元素行列化输出到Excel、Grid、HTML,通过输入需要导出的界面信息,自动完成对界面元素的行列划分、行列合并、输出,实现一种所见即所得的行列化输出。
文档编号G06F9/44GK103092630SQ20131006531
公开日2013年5月8日 申请日期2013年3月1日 优先权日2013年3月1日
发明者娄东生 申请人:畅捷通信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1