[发明专利]基于SAX解析Excel文件至多表并提高数据精度的方法在审
申请号: | 202110819913.6 | 申请日: | 2021-07-20 |
公开(公告)号: | CN113468860A | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 张庆兵 | 申请(专利权)人: | 浪潮软件科技有限公司 |
主分类号: | G06F40/18 | 分类号: | G06F40/18;G06F40/205 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 冯春连 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sax 解析 excel 文件 至多 提高 数据 精度 方法 | ||
1.一种基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,首先获取excel文件,excel文件包含多个映射,每个映射为excel文件的表头,配置目标数据表与表头的映射关系;然后比对excel文件中表头信息与配置目标数据表的映射关系,通过SAX解析excel文件每一个数据单元,并进行映射关系匹配验证,最后将excel文件按照匹配成功的映射关系进行数据导入拆分,当遍历数据到达设定的数据阈值或为新表头时,启动多线程和数据源的连接池进行数据导入处理。
2.根据权利要求1所述的基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,获取的excel文件包括03版本和07版本两种。
3.根据权利要求2所述的基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,针对03版本的excel文件,需要编写实现HSSFListener接口的抽象类XLSReader,实现processRecord方法,用于读取行列,且针对每种单元格数据类型根据record.getSid()进行处理。
4.根据权利要求2所述的基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,针对07版本的excel文件,需要编写继承DefaultHandler的抽象类XLSXReader,重写startElement和endElement,用于读取行列。
5.根据权利要求2或3所述的基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,读取行列的过程中,将数字中日期类型的默认转为yyyy-MM-dd HH:mm:ss:SSS格式进行统一处理。
6.根据权利要求1所述的基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,比对excel文件中表头信息与配置目标数据表的映射关系之前,需要根据部署机器的线程数、内存和EXCEL行数据大小,设置数据阈值。
7.根据权利要求1所述的基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,比对excel文件中表头信息与配置目标数据表的映射关系,通过SAX解析excel文件每一个数据单元,并进行映射关系匹配验证,具体为:
采用SAX方式遍历excel文件的每行并与映射关系进行匹配,确认该excel文件中匹配的映射关系的相关信息,统计满足映射的表头个数,并记录满足匹配成功的映射的sheet页和行列信息。
8.根据权利要求7所述的基于SAX解析Excel文件至多表并提高数据精度的方法,其特征在于,一个映射关系包括多个表头与数据列的映射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件科技有限公司,未经浪潮软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110819913.6/1.html,转载请声明来源钻瓜专利网。