本文作者:kaifamei

一种基于文档表格文本提取方法与流程

更新时间:2025-12-20 19:01:26 0条评论

一种基于文档表格文本提取方法与流程

1.本发明属于数据质量检测

技术领域


:,具体涉及一种基于文档表格文本提取方法。

背景技术


::2.基于政务服务评估指标体系、国家基本目录及实施清单要素标准要求,精益化梳理过程中,不同事项需要的办事申请表模板不尽相同,不同部门均有自己定制化要求,众办事需填写各种表单,基本信息重复填写,费事费力,导致办事效率低、办事体验感极差。现在需要将不同格式申请表整合为一份,提取公共部分,保留个性化信息。3.目前纯人工整合申请表工作量较大、时间较紧,新老员工工作效率相差较大,缺少经验继承,结果分享等方法和工具;缺少数据工作指引、来源查工具,缺少数据结果审核、纠错等工具,共享难,改造难,导致行政效能改革缓慢,不利于营商环境的优化。技术实现要素:4.本发明的目的是提供一种基于文档表格文本提取方法,解决了现有技术中存在的人工整合工作量较大、时间紧、效率低以及准确性较差的问题。5.本发明所采用的技术方案是,一种基于文档表格文本提取方法,具体按照以下步骤实施:6.步骤1、将待处理的word文档上传到系统服务器,系统服务器根据导入文件个数随机给每个文件分配一个文件编号,系统服务器将文件编号、文件名称、文件大小、文件存放位置、文件格式存放到数据库中;7.步骤2、创建目标文件excel,并初始化;8.步骤3、通过文件编号从所述步骤1的数据库中获取步骤1中所述的word文档存放位置、文件名称、文件格式在内的信息;9.步骤4、将通过步骤3获取的文件名称写入步骤2中所述的目标文件excel中;10.步骤5、利用java读取数据流的方式通过步骤3获取的文件存放路径获得步骤1中的原word文档中所有的表格内容;11.步骤6、将步骤5中所述的表格内容按照业务规则分为“表单项名称”、“选项名称”、“单位名称”三类,然后分别填充到步骤2所述的目标excel中的第三行开始的列标columnindex、columnindex+1、columnindex+2对应的单元格中;12.步骤7、将步骤2初始化定义的列标columnindex赋值为columnindex+3,继续从步骤3~步骤6开始循环执行,直到将步骤1中所上传的原word文件循环完毕;13.步骤8、将所述步骤2中的目标文件excel以“x份表单提取+时间戳.xls”的命名方式导出。14.本发明的特点还在于,15.步骤2具体按照以下步骤实施:16.步骤2.1、创建目标文件excel,行和列暂不填充,为后面步骤做准备;17.步骤2.2、自定义目标文件excel的起始列标columnindex初始值为0,其他列列标依次+1的方式进行赋值;18.步骤2.3、自定义目标文件excel的起始行标rowindex初始值为3,其他行依次+1的方式进行赋值;19.步骤4具体按照以下步骤实施:20.步骤4.1、将步骤3获取的文件名称写入所述步骤2中的目标文件excel中,其中,目标文件excel的第一行的列标为columnindex、columnindex+1、columnindex+2列的合并单元格;21.步骤4.2、目标文件excel的第二行写入分类表头,将“表单项名称”填充到步骤2中所述列标columnindex对应的单元格中,将“选项名称”填充到步骤2中所述列标columnindex+1对应的单元格中,将“单位名称”填充到步骤2中所述列标columnindex+2对应的单元格中。22.步骤6具体按照以下步骤实施:23.步骤6.1、将所述步骤5中的表格文本内容通过正则表达式判断当前内容属于表单项名称、选项名称、单位名称中的哪一种类别;24.步骤6.2、如果读取到的文本内容是纯汉字,或者汉字中带有空格、中英文的半圆括号、或者携带百分号%、携带顿号“、”这些特殊符号任意中的任意一种,则认为属于表单项名称这一分类,将该内容填充到所述步骤2中的行标为rowindex、列标为columnindex对应的单元格中;25.步骤6.3、如果读取到的文本内容为重量单位、面积单位、长度单位、体积单位、时间单位、金额单位,则认为是单位名称这一分类,将该内容填充到所述步骤2中的行标为rowindex,列标为columnindex+1对应的单元格中;26.步骤6.4、如果读取到的文本内容既不是步骤6.2所述的内容,也不是步骤6.3所述的内容,那么将该部分内容填充到步骤2中所述的行标为rowindex,列标为columnindex+2对应的单元格中。27.步骤8具体按照以下步骤实施:28.将步骤2中所述目标文件excel以“x份表单提取+时间戳.xls”的命名方式导出,该目标文件excel第一行存放步骤1中word文件的名称,第二行存放分类表头分别为“表单项名称”、“选项名称”、“单位名称”,从第三行开始存放步骤1中所述word文档中的表格内容,按照业务规则分类分别填充到表头为“表单项名称”、“选项名称”、“单位名称”对应列。29.按照上述步骤2~步骤8,上述表格内容填充到步骤2中所述目标excel文件中。30.本发明的有益效果是,一种基于文档表格文本提取方法,将需要整合的word文档中表格文本内容按照业务需求分类提取出来并写入到excel文档中,避免了人为整合的高成本、低效率的模式,解决了精益化化梳理工作中时间较紧,效率低,准确性较差的问题,提高了政务事项梳理人员的工作效率和工作质量。附图说明31.图1是本发明一种基于文档表格文本提取方法流程图。具体实施方式32.下面结合附图和具体实施方式对本发明进行详细说明。33.本发明首先通过java读取数据流方式获取原word文档,读取word中所有table表格,提取表格中的文本内容,对于同一个单元格换行内容采用字节流追加方式,一直到读取完成,通过正则表达式匹配word表格文本内容类别(表单项名称、选项名称、单位名称)然后再写入到excel对应行和列的单元格中。在开始读取word文档table表格中的文本时,代码新建excel的sheet页,每读取一行word文本则在excel中新建一行,每读取当前行的当前列时,在excel中新建一个单元格,然后将读取到的word中的文本写入到单元格中,依次类推循环,直至整个word文档读取完成。若多个word文档需提取表格文本内容,按照上述步骤完成所有word表格文本提取操作。34.本发明一种基于文档表格文本提取方法,流程图如图1所示,具体按照以下步骤实施:35.步骤1、将待处理的word文档上传到系统服务器,系统服务器根据导入文件个数随机给每个文件分配一个文件编号,系统服务器将文件编号、文件名称、文件大小、文件存放位置、文件格式存放到数据库中;36.步骤2、创建目标文件excel,并初始化;37.步骤2具体按照以下步骤实施:38.步骤2.1、创建目标文件excel,行和列暂不填充,为后面步骤做准备;39.步骤2.2、自定义目标文件excel的起始列标columnindex初始值为0,其他列列标依次+1的方式进行赋值;40.步骤2.3、自定义目标文件excel的起始行标rowindex初始值为3,其他行依次+1的方式进行赋值;41.步骤3、通过文件编号从所述步骤1的数据库中获取步骤1中所述的word文档存放位置、文件名称、文件格式(doc和docx)在内的信息;42.步骤4、将通过步骤3获取的文件名称写入步骤2中所述的目标文件excel中;43.步骤4具体按照以下步骤实施:44.步骤4.1、将步骤3获取的文件名称写入所述步骤2中的目标文件excel中,其中,目标文件excel的第一行的列标为columnindex、columnindex+1、columnindex+2列的合并单元格;45.步骤4.2、目标文件excel的第二行写入分类表头,将“表单项名称”填充到步骤2中所述列标columnindex对应的单元格中,将“选项名称”填充到步骤2中所述列标columnindex+1对应的单元格中,将“单位名称”填充到步骤2中所述列标columnindex+2对应的单元格中。示例如表1、表2所示:[0046][0047]步骤5、利用java读取数据流的方式通过步骤3获取的文件存放路径获得步骤1中的原word文档中所有的表格内容;[0048]步骤6、将步骤5中所述的表格内容按照业务规则分为“表单项名称”、“选项名称”、“单位名称”三类,然后分别填充到步骤2所述的目标excel中的第三行开始的列标columnindex、columnindex+1、columnindex+2对应的单元格中;[0049]步骤6具体按照以下步骤实施:[0050]步骤6.1、将所述步骤5中的表格文本内容通过正则表达式判断当前内容属于表单项名称、选项名称、单位名称中的哪一种类别;[0051]步骤6.2、如果读取到的文本内容是纯汉字,或者汉字中带有空格、中英文的半圆括号、或者携带百分号%、携带顿号“、”这些特殊符号任意中的任意一种,则认为属于表单项名称这一分类,将该内容填充到所述步骤2中的行标为rowindex、列标为columnindex对应的单元格中;[0052]步骤6.3、如果读取到的文本内容为重量单位、面积单位、长度单位、体积单位、时间单位、金额单位,则认为是单位名称这一分类,将该内容填充到所述步骤2中的行标为rowindex,列标为columnindex+1对应的单元格中;[0053]步骤6.4、如果读取到的文本内容既不是步骤6.2所述的内容,也不是步骤6.3所述的内容,那么将该部分内容填充到步骤2中所述的行标为rowindex,列标为columnindex+2对应的单元格中。[0054]步骤7、将步骤2初始化定义的列标columnindex赋值为columnindex+3,继续从步骤3~步骤6开始循环执行,直到将步骤1中所上传的原word文件循环完毕;[0055]步骤8、将所述步骤2中的目标文件excel以“x份表单提取+时间戳.xls”的命名方式导出。[0056]步骤8具体按照以下步骤实施:[0057]将步骤2中所述目标文件excel以“x份表单提取+时间戳.xls”的命名方式导出,该目标文件excel第一行存放步骤1中word文件的名称,第二行存放分类表头分别为“表单项名称”、“选项名称”、“单位名称”,从第三行开始存放步骤1中所述word文档中的表格内容,按照业务规则分类分别填充到表头为“表单项名称”、“选项名称”、“单位名称”对应列。[0058]示例:步骤1所述原word文档表格,如表3所示:[0059]表3分娩信息[0060][0061][0062]按照上述步骤2~步骤8,上述表格内容填充到步骤2中所述目标excel文件效果表4所示:[0063]表4出生医学证首次签发申请表[0064]当前第1页12当前第1页12

技术特征:


1.一种基于文档表格文本提取方法,其特征在于,具体按照以下步骤实施:步骤1、将待处理的word文档上传到系统服务器,系统服务器根据导入文件个数随机给每个文件分配一个文件编号,系统服务器将文件编号、文件名称、文件大小、文件存放位置、文件格式存放到数据库中;步骤2、创建目标文件excel,并初始化;步骤3、通过文件编号从所述步骤1的数据库中获取步骤1中所述的word文档存放位置、文件名称、文件格式在内的信息;步骤4、将通过步骤3获取的文件名称写入步骤2中所述的目标文件excel中;步骤5、利用java读取数据流的方式通过步骤3获取的文件存放路径获得步骤1中的原word文档中所有的表格内容;步骤6、将步骤5中所述的表格内容按照业务规则分为“表单项名称”、“选项名称”、“单位名称”三类,然后分别填充到步骤2所述的目标excel中的第三行开始的列标columnindex、columnindex+1、columnindex+2对应的单元格中;步骤7、将步骤2初始化定义的列标columnindex赋值为columnindex+3,继续从步骤3~步骤6开始循环执行,直到将步骤1中所上传的原word文件循环完毕;步骤8、将所述步骤2中的目标文件excel以“x份表单提取+时间戳.xls”的命名方式导出。2.根据权利要求1所述的一种基于文档表格文本提取方法,其特征在于,所述步骤2具体按照以下步骤实施:步骤2.1、创建目标文件excel,行和列暂不填充,为后面步骤做准备;步骤2.2、自定义目标文件excel的起始列标columnindex初始值为0,其他列列标依次+1的方式进行赋值;步骤2.3、自定义目标文件excel的起始行标rowindex初始值为3,其他行依次+1的方式进行赋值。3.根据权利要求4所述的一种基于文档表格文本提取方法,其特征在于,所述步骤4具体按照以下步骤实施:步骤4.1、将步骤3获取的文件名称写入所述步骤2中的目标文件excel中,其中,目标文件excel的第一行的列标为columnindex、columnindex+1、columnindex+2列的合并单元格;步骤4.2、目标文件excel的第二行写入分类表头,将“表单项名称”填充到步骤2中所述列标columnindex对应的单元格中,将“选项名称”填充到步骤2中所述列标columnindex+1对应的单元格中,将“单位名称”填充到步骤2中所述列标columnindex+2对应的单元格中。4.根据权利要求3所述的一种基于文档表格文本提取方法,其特征在于,所述步骤6具体按照以下步骤实施:步骤6.1、将所述步骤5中的表格文本内容通过正则表达式判断当前内容属于表单项名称、选项名称、单位名称中的哪一种类别;步骤6.2、如果读取到的文本内容是纯汉字,或者汉字中带有空格、中英文的半圆括号、或者携带百分号%、携带顿号“、”这些特殊符号任意中的任意一种,则认为属于表单项名称这一分类,将该内容填充到所述步骤2中的行标为rowindex、列标为columnindex对应的单元格中;
步骤6.3、如果读取到的文本内容为重量单位、面积单位、长度单位、体积单位、时间单位、金额单位,则认为是单位名称这一分类,将该内容填充到所述步骤2中的行标为rowindex,列标为columnindex+1对应的单元格中;步骤6.4、如果读取到的文本内容既不是步骤6.2所述的内容,也不是步骤6.3所述的内容,那么将该部分内容填充到步骤2中所述的行标为rowindex,列标为columnindex+2对应的单元格中。5.根据权利要求4所述的一种基于文档表格文本提取方法,其特征在于,所述步骤8具体按照以下步骤实施:将步骤2中所述目标文件excel以“x份表单提取+时间戳.xls”的命名方式导出,该目标文件excel第一行存放步骤1中word文件的名称,第二行存放分类表头分别为“表单项名称”、“选项名称”、“单位名称”,从第三行开始存放步骤1中所述word文档中的表格内容,按照业务规则分类分别填充到表头为“表单项名称”、“选项名称”、“单位名称”对应列;按照上述步骤2~步骤8,上述表格内容填充到步骤2中所述目标excel文件中。

技术总结


本发明公开了一种基于文档表格文本提取方法,首先将待处理的word文档上传到系统服务器,系统服务器根据导入文件个数随机给每个文件分配一个文件编号,系统服务器将文件编号、文件名称、文件大小、文件存放位置、文件格式存放到数据库中;然后创建目标文件excel并初始化;通过文件编号从数据库中获取word文档存放位置、文件名称、文件格式在内的信息并写入目标文件Excel中;利用Java读取数据流的方式获得原word文档中所有的表格内容;然后填充,循环执行,直到将原word文件循环完毕;最后将目标文件excel导出。本发明解决了现有技术中存在的人工整合工作量较大、时间紧、效率低以及准确性较差的问题。准确性较差的问题。准确性较差的问题。


技术研发人员:

孙涛 马国华 赵博 崔力飞 张兴隆 韩丽霞 王云

受保护的技术使用者:

鼎蓝惠民信息技术(西安)有限公司

技术研发日:

2022.09.29

技术公布日:

2022/12/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-56747-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-22 14:19:13

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论