【技术实现步骤摘要】
一种通用高效Excel读取处理方法、工具、介质及设备
[0001]本申请涉及软件开发
,特别涉及一种通用高效Excel读取处理方法、工具、介质及设备。
技术介绍
[0002]软件实际应用中,有很多场景需要用到Excel文件上传,且很多场景下的Excel的文件大小、数据量都是比较大的,故Excel文件上传处理程序需要高效地对Excel文件进行读取和解析。
[0003]面对各行各业、各种业务需求,Excel文件导入也存在较多复杂性:Excel文件导入时,数据文件可能存在多种版本格式如.xls或.xlsx都要能够统一适应;且在单个Excel文件表中存在多个Sheet工作簿,业务工作簿的指定也是问题;在数据表中的,表头占位问题和表尾可能出现无关业务的数据,都会影响导入;文件数据中,单元格的格式也包含多种格式,就在多种数据类型,如日期格式化、公式类型单元格数据读取、科学计数法等,都是需要处理的;在Excel文件导入开发中,针对不同表头的文件的开发这样比较麻烦是事情。
技术实现思路
[0004]针对现有技术 ...
【技术保护点】
【技术特征摘要】
1.一种通用高效Excel读取处理方法,其特征在于,包括:根据具体业务需求对待导入的Excel文件创建实体类对象,并导入所述Excel文件相应的公共参数,以适配所述Excel文件的文件格式;利用Apache POI技术读取所述Excel文件,并判断所述Excel文件的文件格式,其中所述文件格式包括.xls格式和.xlsx格式;根据所述文件格式的类型,利用所述实体类对象中相应的自定义注解和所述公共参数,对所述Excel文件进行对应的数据处理,其中若所述数据处理的过程存在异常,则进行统一异常处理,输出所述异常对应的异常信息,若所述数据处理的过程不存在异常,则将所述数据处理的处理结果存储到实体类列表中。2.如权利要求1所述的通用高效Excel读取处理方法,其特征在于,所述根据所述文件格式的类型,利用所述实体类对象中相应的自定义注解和所述公共参数,对所述Excel文件进行对应的数据处理,进一步包括:若所述文件格式为所述.xls格式,则通过工作薄解析的方式,利用所述实体类对象中相应的自定义注解和所述公共参数中相应的参数,读取解析所述Excel文件;若所述文件格式为所述.xlsx格式,则利用自定义SAX解析的方式,利用所述实体类对象中相应的自定义注解和所述公共参数中相应的参数,读取解析所述Excel文件。3.如权利要求2所述的通用高效Excel读取处理方法,其特征在于,所述通过工作薄解析的方式,利用所述实体类对象中相应的自定义注解和所述公共参数中相应的参数,读取解析所述Excel文件,进一步包括:创建Excel文件流,并利用所述Excel文件流生成所述Excel文件的工作簿,根据所述工作簿获取所述Excel文件的多张工作表;根据所述公共参数中的工作表数目参数,对多张所述工作表进行判断,获取多张所述工作表中的待处理工作表;根据所述公共参数中的标题索引参数,获取所述待处理工作表的表头信息,并将所述表头信息缓存到映射集合中;将所述实体类对象中的表头字段与所述表头信息进行校验,若校验不一致,则直接返回对应的异常信息;若校验一致,则循环遍历所述待处理工作表中的每一单元格,获取其单元格信息,所述单元格信息包括单元格编号和单元格数值;对所述实体类对象、所述单元格信息及所述表头信息进行数据格式化处理,进行格式统一,并在所述数据格式化处理过程中,通过JAVA反射机制,获取与所述实体类对象的相关字段的自定义注解,得到所述相关字段的自定义注解的实体类属性值;通过自定义实体类反射处理工具,利用所述实体类属性值对所述实体类对象的指定字段进行赋值;通过所述公共参数中的关键字段参数和关键字段排除参数对赋值后的每行单元格的数据进行判断,若判断当前行单元格的数据存在有效数据,则进行数据抓取,并将所述当前行单元格的数据作为所述数据处理的处理结果存储到所述实体类列表中。4.如权利要求2所述的通用高效Excel读取处理方法,其特征在于,所述利用自定义SAX
解析的方式,利用所述实体类对象中相应的自定义注解和所述公共参数中相应的参数,读取解析所述Excel文件,进一步包括:通过Apache POI技术中的文件路径单元创建所述Excel文件的XSSFReader对象,以读取所述Excel文件中的数据,并获取所述Excel文件的各个工作表的共享字符串表;通过SAXParser解析器创建所述Excel文件的XMLReader对象,并利用所述XMLReader对象解析所述Excel文件进行数据处理的开始触发方法,若所述开始触发方法完毕,则利用所述共享字符串表获得所述工作表的单元格内容;以及利用XMLReader解析所述Excel文件进行数据处理的结束触发方法,若所述结束触发方法完毕,则结束数据处理,其中所述单元格内容包括单元格...
【专利技术属性】
技术研发人员:黄崇,蒋静,
申请(专利权)人:北京复兴华创技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。