一种基于ascii码字符的通用表格算法实现方法
技术领域:
:1.本发明涉及通用表格
技术领域:
:,具体为一种基于ascii码字符的通用表格算法实现方法。
背景技术:
::2.在程序中显示表格是很多软件常用的功能,现阶段所使用的表格常用实现方式有三种:office格式表格、绘图模拟表格、超文本表格。3.现有的通用表格存在的缺陷是:4.1、专利文件cn110647588a公开了一种对任意复杂关系数据模型自动填写所有表格及大数据自动测试的通用算法,“本发明实施例提供了关系型数据库的表格数据自动填入方法及其系统。其中,所述方法包括:根据所述关系型数据库的sql文件,确定所述关系型数据库内的表格之间的层级关系;根据所述层级关系,生成联系所有表格之间的联系图以及根据所述联系图,自动在所有的表格中填充数据。其可以方便在数据库测试时自动生成数据、填入数据库表格,并且可以通过简单的扩展以及调整后,将其应用于最终的实际数据填表。通过使用该方法和装置,可以用于大数据的批量自动填表,有广泛的适用价值,节省人力物力,能给企业带来显著的经济效益”;5.2、专利文件cn113435240a公开了一种端到端的表格检测和结构识别方法及系统,“对原始图像进行垂直方向拉伸,并进行长宽比不变的尺寸归一化以及边界补0,形成预处理图像;以编码器-解码器模型为主体结构,确定所述预处理图像中的表格区域,并分类为有线表格图像和无线表格图像;基于所确定的表格区域,从预处理图像中分离出校正后的、仅包含表格区域的表格区域图像;针对所述表格区域图像,根据分类为有线表格图像和无线表格图像分别采用不同方法进行表格结构识别。本发明对不同类别的表格采用不同的结构识别方法,充分结合卷积神经网络图像分割算法、图卷积神经网络算法和传统规则分析方法的优势来提升算法的鲁棒性和通用性”;6.3、专利文件cn106503148a公开了一种基于多知识库的表格实体链接方法,“主要用于解决表格中的实体链接问题。本发明首先对于给定表格中每个单元格里的字符串生成候选实体,这些候选实体抽取自给定的知识库。然后,提出一种通用的基于图的概率传播算法对每个单元格里的字符串对应的候选实体进行排序,该方法可作用于任意单一的知识库。再根据基于不同单一知识库的候选实体排序的结果,利用源自不同知识库中的实体间的等价关系,对每个单元格里的字符串所对应的抽取自不同知识库中的已排序候选实体进行划分。最后使用三种启发式规则以最终确定每个单元格里的字符串所应该链接的存在于不同知识库中的实体,从而完成基于多知识库的表格实体链接的任务”;7.4、专利文件cn101923643a公开了一种通用表格识别方法,“用扫描仪将各种样表扫描成图像文件存储在计算机硬盘中;制作表格模式文件,装载计算机硬盘上存储的样表图像文件,制作各种类型的表格模式,并以mod格式保存表格模式文件;用扫描仪将填涂完成后的每一份统计用表扫描成图像文件存储在计算机硬盘中;表格识别及识别结果保存。本发明的积极效果是:利用扫描仪和计算机,能快速、准确地对各种填涂表格进行识别,并将识别结果保存在计算机中,供用户随时、方便地作进一步的统计分析和处理。集实用性和灵活性于一体,大大简化人们的文档处理手段,提高表格分析的效率,具有非常广阔的应用前景”,综上所述office表格,特别是word表格是办公人员常用的表格样式,使用简单。但office表格在通过程序调用自动生成过程中存在诸多限制。8.office表格调用方式为api函数形式,受操作系统和office软件版本影响较大,不同版本存在较大差别,通用性差;9.office表格实现较复杂,需根据微软设定的一系列规则,创建文档,创建视图,创建表格等一系列操作,过程较为复杂;10.office表格无法在除windows操作系统以外的系统上运行,可移植性差。11.鉴于现阶段所使用的表格常用实现方式存在的问题,本发明受超文本格式和ascii码中的特殊绘图码的启示,以ascii码为基础,通过统一表格基类、规范表格样式、自动格式生成、个性化表格定制等方式,实现基于ascii码字符的通用表格算法,让用户仅需一个文本框或者记事本即可输出文本表格,降低了使用门槛、满足通用性要求和跨平台要求,是一种表格的轻量化实现方案。技术实现要素:12.本发明的目的在于提供一种基于ascii码字符的通用表格算法实现方法,以解决上述
背景技术:
:中提出的问题。13.为实现上述目的,本发明提供如下技术方案:一种基于ascii码字符的通用表格算法实现方法,包括统一表格基类、规范表格样式、自动格式生成和个性化表格定制,所述该算法实现的关键是编制统一表格基类(classcdrawtable),将设置表格的基本元素定义清楚,并统一接口样式;14.(1)表格基类成员变量15.表格基类包含有通用表格所需的基本数据,包括表格尺寸、列宽、对齐方式和文字;16.(2)表格基类成员函数17.表格基类成员函数提供了生成通用表格所需的基本操作函数,包括设置尺寸、设置列宽、设置对齐方式、进行单元格合并、设置文字。18.优选的,所述为了生成标准格式的表格,需设定相关的属性参数,本发明采用宏定义的方式,设置了三类规范,即宏定义常量、单元格对齐方式、单元格合并方式:19.(1)宏定义常量20.(2)单元格对齐方式21.(3)单元格合并方式。22.优选的,所述表格基类在表格所有单元文本和属性设置完毕后,可调用gettable函数生成文本表格,绘制表格边框和分界线可采用ascii码来实现;23.该算法可根据表格数据通过调用gettable函数自动生成文本表格,生成表格字符串的算法流程如图1。24.优选的,所述通用表格算法是基于ascii码产生字符串的形式生成表格,但不同类型任务,对表格的要求不同,开发者可根据自身需求,在cdrawtable类的基础上派生出实体类,如点目标计算结果类、椭圆目标计算结果类、矩形目标计算结果类,通过调用gettable函数即可获取表格字符串,产生个性化表格;25.个性化表格类仅需根据表格需要显示的参数,重载构造函数,并在构造函数中设置好相关属性,即可完成该类的实现,个性化类的定义和实现代码如下:26.27.[0028][0029]与现有技术相比,本发明的有益效果是:[0030]1.本发明采用c 语法规范,符合跨平台要求,该算法库以c 为编程语言,支持windows、linux、android等系统,并在vs2019和qt5.14上编译通过;[0031]2.本发明轻量化程序架构,注重效率优先,本发明采用的基类仅保留了必要的成员变量和函数,cdrawtable类既可作为实体类,也可作为基类使用,程序采用轻量化结构,在保证效率的前提下实现多态性;[0032]3.本发明定义统一的算法接口,简化用户调用方式,本发明采用了一级基类(cdrawtable)和一级实体类的方式定义接口,cdrawtable定义了所有的基本操作和生成表格的核心函数,开发者在派生时仅需重载构造函数,做好相关的转换工作即可,对于用户,在使用时只需调用一次构造函数,再使用gettable函数即可完成调用,调用方式简单;[0033]4.本发明表格为文本形式,显示表格不受限制,本发明采用ascii码的形式显示表格,本质上是一种文本形式表格,该类表格不太常见,但是其显示方式多样,既可在dos环境下显示、也可在文本对话框、绘图、网页和其他特殊场合使用,显示方式不受限制;[0034]5.本发明表格文本最简化,便于拾取和复制,本发明生成的表格仅为文本,所见即所得,并没有增加类似超文本的格式代码,表格内容已做到最简化,由于是文本形式,用户可任意拾取表格内容,若仅关注单元格数据,排除掉制表符号(ascii码大于127的符号)即可,也可实现任意复制,并可在记事本等简单工具中显示;[0035]6.本发明程序基于c 原始代码编写,无需其他插件或软件支撑,本发明采用c 语言编写,编写过程中无需office、浏览器或其他插件支撑,代码具有独立性,对操作系统无特殊要求。附图说明[0036]图1为本发明生成表格字符串算法流程图;[0037]图2为本发明的表格基类成员变量;[0038]图3为本发明的表格基类成员函数;[0039]图4为本发明的宏定义常量;[0040]图5为本发明的单元格对齐方式;[0041]图6为本发明的单元格合并方式;[0042]图7为本发明的表格边框和分界线;[0043]图8为本发明的表格类关系图;[0044]图9为办发明的个性化表格样式。具体实施方式[0045]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0046]在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。[0047]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体的连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。[0048]实施例1:请参阅图1-图9,本发明提供的一种实施例:一种基于ascii码字符的通用表格算法实现方法,包括统一表格基类、规范表格样式、自动格式生成和个性化表格定制,所述该算法实现的关键是编制统一表格基类(classcdrawtable),将设置表格的基本元素定义清楚,并统一接口样式;[0049](1)表格基类成员变量[0050]表格基类包含有通用表格所需的基本数据,包括表格尺寸、列宽、对齐方式和文字;[0051](2)表格基类成员函数[0052]表格基类成员函数提供了生成通用表格所需的基本操作函数,包括设置尺寸、设置列宽、设置对齐方式、进行单元格合并、设置文字。[0053]进一步,所述为了生成标准格式的表格,需设定相关的属性参数,本发明采用宏定义的方式,设置了三类规范,即宏定义常量、单元格对齐方式、单元格合并方式;[0054](1)宏定义常量[0055](2)单元格对齐方式[0056](3)单元格合并方式。[0057]进一步,所述表格基类在表格所有单元文本和属性设置完毕后,可调用gettable函数生成文本表格,绘制表格边框和分界线可采用ascii码来实现;[0058]该算法可根据表格数据通过调用gettable函数自动生成文本表格,生成表格字符串的算法流程如图1。[0059]进一步,所述通用表格算法是基于ascii码产生字符串的形式生成表格,但不同类型任务,对表格的要求不同,开发者可根据自身需求,在cdrawtable类的基础上派生出实体类,如点目标计算结果类、椭圆目标计算结果类、矩形目标计算结果类,通过调用gettable函数即可获取表格字符串,产生个性化表格;[0060]个性化表格类仅需根据表格需要显示的参数,重载构造函数,并在构造函数中设置好相关属性,即可完成该类的实现,个性化类的定义和实现代码如下:[0061][0062][0063][0064]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。当前第1页12当前第1页12
转载请注明原文地址:https://tc.8miu.com/read-2838.html