本发明专利技术提供一种EXCEL文档的文本提取方法、系统、终端及存储介质,包括:从Excel文档的WorkBook数据流筛选SST标签,并从所述SST标签提取文本索引库信息;通过筛选标签Type值筛选出WorkBook数据流中的所有Sheet标签,读取所述Sheet标签生成sheet索引库;提取所述sheet索引库下的sheet页的偏移位置,根据所述偏移位置从所述sheet页的所有标签提取出LabelSst标签,并读取所述LabelSst标签的索引信息;根据所述索引信息查找文本索引库中相应的文本,并按所述索引信息所属LabelSst标签在sheet索引库的位置对相应文本进行拼接。本发明专利技术兼容性好,采用二进制读取文件,并进行精确定位处理,执行效率显著提高;所有实现通过自己手动编码和调用系统API函数,不依赖任何第三方程序文件,程序包较小。
A text extraction method, system, terminal and storage medium of Excel document
【技术实现步骤摘要】
一种EXCEL文档的文本提取方法、系统、终端及存储介质
本专利技术涉及文字提取
,具体涉及一种EXCEL文档的文本提取方法、系统、终端及存储介质。
技术介绍
MicrosoftExcel作为一种表格处理办公软件,在当前的办公环境中,占有绝对的市场份额,Excel文件的格式已经成为业内通用的表格通用标准,如金山Officeet等。在很多应用场景中需要将Excel中的文字提取出来进行二次处理,如文字检查工具、文本比较工具,文件格式转换工具等,如何将Excel中的文字完整、高效的提取出来,成为现在面临的一个问题。现在通用的Excel文字提取方法主要有两种,一种是采用OfficeExcel或者金山et软件提供的二次接口开发进行文字提取(以下文档描述中统一简称为二次接口开发),另外一种就是采用JAVA提供的OPI技术进行提取。但是这两项技术存在以下缺点:二次接口开发缺点:兼容性差。完全依赖OfficeExcel或者金山et组件进行二次接口开发,必须在运行的计算机上预先安装OfficeExcel程序或者手动提取OfficeExcel组件程序集成到提取工具中。利用二次接口开发,提取Excel文档中文字,此方法依赖OfficeExcel,如果Excel安装不充分或者配置不正确就会导致文字提取失败。效率低。二次接口开发采用的是com技术,数据经过多层转换,效率低。JAVAOPI技术缺点:程序包大。利用JAVAOPI技术。JAVAOPI技术提取文档中的文字,需要在运行环境中自带JAVA虚拟机环境,此方法导致程序安装包过大。效率低。JAVA运行性能低,导致提取文字效率低。
技术实现思路
针对现有技术的上述不足,本专利技术提供一种EXCEL文档的文本提取方法、系统、终端及存储介质,以解决上述技术问题。第一方面,本专利技术提供一种EXCEL文档的文本提取方法,包括:从Excel文档的WorkBook数据流筛选SST标签,并从所述SST标签提取文本索引库信息;通过筛选标签Type值筛选出WorkBook数据流中的所有Sheet标签,读取所述Sheet标签生成sheet索引库;提取所述sheet索引库下的sheet页的偏移位置,根据所述偏移位置从所述sheet页的所有标签提取出LabelSst标签,并读取所述LabelSst标签的索引信息;根据所述索引信息查找文本索引库中相应的文本,并按所述索引信息所属LabelSst标签在sheet索引库的位置对相应文本进行拼接。进一步的,所述从SST标签提取文本索引库信息,包括:进入SST标签读取文本索引库的大小;读取编号为0的XLUnicodeRichExtendedString标签中的文本的字符数和文本的编码格式;通过字符数和文本的编码格式提取对应的文本并计算所述文本的长度。进一步的,所述通过筛选标签Type值筛选出WorkBook数据流中的所有Sheet标签,读取所述Sheet标签生成sheet索引库,包括:从所述WorkBook数据流筛选Type值为133的Sheet标签;从所述Sheet标签读取当前sheet页在Excel文件中的偏移位置和当前sheet页的名称。进一步的,所述按索引信息所属LabelSst标签在sheet索引库的位置对相应文本进行拼接,包括:对同一sheet页下的LabelSst标签进行排序;按照所述LabelSst标签的排序对相应文本进行拼接;将拼接完成的文本标记所属sheet页名称。第二方面,本专利技术提供一种EXCEL文档的文本提取系统,包括:第一创建单元,配置用于从Excel文档的WorkBook数据流筛选SST标签,并从所述SST标签提取文本索引库信息;第二创建单元,配置用于通过筛选标签Type值筛选出WorkBook数据流中的所有Sheet标签,读取所述Sheet标签生成sheet索引库;索引提取单元,配置用于提取所述sheet索引库下的sheet页的偏移位置,根据所述偏移位置从所述sheet页的所有标签提取出LabelSst标签,并读取所述LabelSst标签的索引信息;文本拼接单元,配置用于根据所述索引信息查找文本索引库中相应的文本,并按所述索引信息所属LabelSst标签在sheet索引库的位置对相应文本进行拼接。进一步的,所述第一创建单元包括:大小读取模块,配置用于进入SST标签读取文本索引库的大小;标签读取模块,配置用于读取编号为0的XLUnicodeRichExtendedString标签中的文本的字符数和文本的编码格式;文本提取模块,配置用于通过字符数和文本的编码格式提取对应的文本并计算所述文本的长度。进一步的,所述第二创建单元包括:标签筛选模块,配置用于从所述WorkBook数据流筛选Type值为133的Sheet标签;表格读取模块,配置用于从所述Sheet标签读取当前sheet页在Excel文件中的偏移位置和当前sheet页的名称。进一步的,所述文本拼接单元包括:标签排序模块,配置用于对同一sheet页下的LabelSst标签进行排序;文本拼接模块,配置用于按照所述LabelSst标签的排序对相应文本进行拼接;名称标记模块,配置用于将拼接完成的文本标记所属sheet页名称。第三方面,提供一种终端,包括:处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。本专利技术的有益效果在于,本专利技术提供的EXCEL文档的文本提取方法、系统、终端及存储介质,通过分析Excel文档的二进制数据,根据文档中文字的存放原理,把Excel文档中的文字按照原文的顺序提取出来。本专利技术不限制于OfficeExcel文件的文字提取,凡是采用OfficeExcel文字存放原理的文件都可以采用此方法提取文字,如金山Officeet等。本专利技术不依赖OfficeExcel/金山et组件,兼容性好;二进制读取文件,并进行精确定位处理,执行效率显著提高;所有实现通过自己手动编码和调用系统API函数,不依赖任何第三方程序文件,程序包较小。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一个实施例的方法的Excel文档存放原理图。图2是本专利技术一个实施例的方法的示意性流本文档来自技高网...
【技术保护点】
1.一种EXCEL文档的文本提取方法,其特征在于,包括:/n从Excel文档的WorkBook数据流筛选SST标签,并从所述SST标签提取文本索引库信息;/n通过筛选标签Type值筛选出WorkBook数据流中的所有Sheet标签,读取所述Sheet标签生成sheet索引库;/n提取所述sheet索引库下的sheet页的偏移位置,根据所述偏移位置从所述sheet页的所有标签提取出LabelSst标签,并读取所述LabelSst标签的索引信息;/n根据所述索引信息查找文本索引库中相应的文本,并按所述索引信息所属LabelSst标签在sheet索引库的位置对相应文本进行拼接。/n
【技术特征摘要】
1.一种EXCEL文档的文本提取方法,其特征在于,包括:
从Excel文档的WorkBook数据流筛选SST标签,并从所述SST标签提取文本索引库信息;
通过筛选标签Type值筛选出WorkBook数据流中的所有Sheet标签,读取所述Sheet标签生成sheet索引库;
提取所述sheet索引库下的sheet页的偏移位置,根据所述偏移位置从所述sheet页的所有标签提取出LabelSst标签,并读取所述LabelSst标签的索引信息;
根据所述索引信息查找文本索引库中相应的文本,并按所述索引信息所属LabelSst标签在sheet索引库的位置对相应文本进行拼接。
2.根据权利要求1所述的方法,其特征在于,所述从SST标签提取文本索引库信息,包括:
进入SST标签读取文本索引库的大小;
读取编号为0的XLUnicodeRichExtendedString标签中的文本的字符数和文本的编码格式;
通过字符数和文本的编码格式提取对应的文本并计算所述文本的长度。
3.根据权利要求1所述的方法,其特征在于,所述通过筛选标签Type值筛选出WorkBook数据流中的所有Sheet标签,读取所述Sheet标签生成sheet索引库,包括:
从所述WorkBook数据流筛选Type值为133的Sheet标签;
从所述Sheet标签读取当前sheet页在Excel文件中的偏移位置和当前sheet页的名称。
4.根据权利要求1所述的方法,其特征在于,所述按索引信息所属LabelSst标签在sheet索引库的位置对相应文本进行拼接,包括:
对同一sheet页下的LabelSst标签进行排序;
按照所述LabelSst标签的排序对相应文本进行拼接;
将拼接完成的文本标记所属sheet页名称。
5.一种EXCEL文档的文本提取系统,其特征在于,包括:
第一创建单元,配置用于从Excel文档的WorkBook数据流筛选SST标签,并从所述SST标签提取文本索引库信息;
【专利技术属性】
技术研发人员:苗功勋,董盼山,崔新安,王金国,
申请(专利权)人:中孚安全技术有限公司,中孚信息股份有限公司,北京中孚泰和科技发展股份有限公司,南京中孚信息技术有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。