System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据智能分析领域,尤其涉及一种文件处理方法及设备。
技术介绍
1、表格(excel)文件广泛应用于各种批量数据场景中,这些批量数据对应批量对象,不同对象在同一种属性上的取值不同。例如,一个班中所有学生的基础信息可以用表格文件进行存储,不同学生的姓名、学号、体重等信息可能不同。
2、现有技术中,可以通过计算机软件对表格文件中的数据进行处理。具体地,首先,通过一些软件工具将读取表格文件中的数据,以将其转换为软件对象;然后,在对软件对象进行统计运算等。其中,软件工具可以为apache poi、easyexcel等。
3、然而,上述几种软件工具在企业级应用场景中的使用效果较差。
技术实现思路
1、本申请提供一种文件处理方法及设备,用以提高企业级应用场景的使用效果。
2、第一方面,本申请提供一种文件处理方法,包括:
3、接收文件处理指令,所述文件处理指令携带有以下参数:表格文件、将所述表格文件中的数据进行转换的目标对象信息;
4、根据默认配置信息和所述目标对象信息对应的注解配置信息,合成导入配置信息,所述导入配置信息用于指示对所述表格文件的数据处理策略;
5、根据所述导入配置信息从所述表格文件中读取数据,得到包括至少一个键值映射对象的第一对象列表;
6、根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表。
7、可选地,
8、获取自定义的列注解信息,所述自定义的列注解信息位于所述注解配置信息中,或,目标配置类中;
9、通过所述自定义的列注解信息替换所述注解配置信息中原有的列注解信息,所述列注解信息包括列注解类和列注解属性;
10、将所述默认配置信息、所述注解配置信息和所述运行时配置信息,分别转换为所述目标配置类对应的三个实例;
11、按照所述默认配置信息、所述注解配置信息和所述运行时配置信息分别对应的优先级,将所述三个实例合成为所述导入配置信息对应的实例。
12、可选地,所述根据所述导入配置信息从所述表格文件中读取数据,得到包括至少一个键值映射对象的第一对象列表,包括:
13、从所述表格文件中读取二进制数据流;
14、从所述二进制数据流中确定所述表格文件的文件格式;
15、根据所述文件格式和所述导入配置信息,对所述二进制数据流进行解析,得到所述导入配置信息指定的目标页对应的所述第一对象列表。
16、可选地,所述根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表,包括:
17、从所述导入配置信息中读取列匹配类型;
18、若所述列匹配类型包括按照列标题匹配,则根据所述导入配置信息中的列标题所在行号,从所述第一对象列表中获取标题序号关系,所述标题序号关系用于指示所述列标题和列序号之间的映射关系;
19、根据所述标题序号关系将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表。
20、可选地,所述键值映射对象包括列序号和列取值,所述根据所述标题序号关系将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表,包括:
21、从所述导入配置信息中获取第一列注解属性;
22、从所述目标对象信息中各对象属性对应的注解使用信息中,提取所述第一列注解属性对应的属性取值,作为所述对象属性对应的列标题,以建立标题属性关系,所述标题属性关系用于指示所述列标题和所述对象属性之间的映射关系;
23、根据所述标题属性关系和所述标题序号关系,将所述列序号对应的列取值,赋值给所述列序号在所述目标对象中对应的所述对象属性。
24、可选地,所述根据所述标题属性关系和所述标题序号关系,将所述列序号对应的列取值,赋值给所述列序号在所述目标对象中对应的所述对象属性,包括:
25、从所述导入配置信息中获取第二列注解属性;
26、从所述目标对象信息中各对象属性对应的注解使用信息中,提取所述第二列注解属性对应的属性取值,作为所述对象属性对应的数据转换规则;
27、通过所述对象属性的所述数据转换规则、所述标题序号关系和所述标题属性关系,将所述列序号对应的所述列取值进行数据格式转换之后,赋值给所述列序号在所述目标对象中对应的所述对象属性。
28、可选地,所述根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表之后,还包括:
29、获取辅助信息,所述辅助信息包括以下至少一项:表格文件的基础信息和本次处理信息;
30、将所述辅助信息和所述第二对象列表进行封装以输出。
31、第二方面,本申请提供一种文件处理装置,包括:
32、指令接收模块,用于接收文件处理指令,所述文件处理指令携带有以下参数:表格文件、将所述表格文件中的数据进行转换的目标对象信息;
33、配置合成模块,用于根据默认配置信息和所述目标对象信息对应的注解配置信息,合成导入配置信息,所述导入配置信息用于指示对所述表格文件的数据处理策略;
34、数据读取模块,用于根据所述导入配置信息从所述表格文件中读取数据,得到包括至少一个键值映射对象的第一对象列表;
35、对象转换模块,用于根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表。
36、可选地,所述文件处理指令还携带有运行时配置信息,所述配置合成模块还用于:
37、获取自定义的列注解信息,所述自定义的列注解信息位于所述注解配置信息中,或,目标配置类中;
38、通过所述自定义的列注解信息替换所述注解配置信息中原有的列注解信息,所述列注解信息包括列注解类和列注解属性;
39、将所述默认配置信息、所述注解配置信息和所述运行时配置信息,分别转换为所述目标配置类对应的三个实例;
40、按照所述默认配置信息、所述注解配置信息和所述运行时配置信息分别对应的优先级,将所述三个实例合成为所述导入配置信息对应的实例。
41、可选地,所述数据读取模块还用于:
42、从所述表格文件中读取二进制数据流;
43、从所述二进制数据流中确定所述表格文件的文件格式;
44、根据所述文件格式和所述导入配置信息,对所述二进制数据流进行解析,得到所述导入配置信息指定的目标页对应的第一对象列表。
本文档来自技高网...【技术保护点】
1.一种文件处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述文件处理指令还携带有运行时配置信息,所述根据默认配置信息和所述目标对象信息对应的注解配置信息,合成导入配置信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述导入配置信息从所述表格文件中读取数据,得到包括至少一个键值映射对象的第一对象列表,包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表,包括:
5.根据权利要求4所述的方法,其特征在于,所述键值映射对象包括列序号和列取值,所述根据所述标题序号关系将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述标题属性关系和所述标题序号关系,将所述列序号对应的列取值,赋值给所述列序号在所述目标对象中对应的所述对象属性,包括:
< ...【技术特征摘要】
1.一种文件处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述文件处理指令还携带有运行时配置信息,所述根据默认配置信息和所述目标对象信息对应的注解配置信息,合成导入配置信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述导入配置信息从所述表格文件中读取数据,得到包括至少一个键值映射对象的第一对象列表,包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表,包括:
5.根据权利要求4所述的方法,其特征在于,所述键值映射对象包括列序号和列取值,所述根据所述标题序号关系将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二...
【专利技术属性】
技术研发人员:刘健,杨艳光,肖鹏涛,张同虎,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。