本发明公开一种基于java从无序的excel中生成数据的方法,涉及数据管理。
背景技术:
1、随着国内it产业的飞速发展,多用运用平台应运而生,出现大批量多样化的数据分析和信息存储情况,尤其针对基层数据治理,大批量的数据需要导入平台,对数据进行管理和分析。
2、对于现在的数据导入方式,主要为开发人员针对需要的字段形成固定的模板,用户根据模板手动的提取有效数据,将数据填充到excel模板中。后台根据用户提供的数据,读取数据,并对数据有效性进行判断,如数据不符合则需要用户再次修改,直到符合需求,之后将数据存入到数据库中。因为基层的数据量大且复杂的情况,导致数据的整理和提取给基层治理人员增加了大量的工作量。
技术实现思路
1、本发明针对现有技术的问题,提供一种基于java从无序的excel中生成数据的方法,基于java反射原理,动态的获取用户提供的有用字段,将无序的excel表格提取有效的字段,并将字段和对象属性匹配和对应,之后对对象的属性进行处理,最后将数据保存到数据库。
2、本发明提出的具体方案是:
3、本发明提供一种基于java从无序的excel中生成数据的方法,包括:
4、步骤1:通过后台将需要导入的对象属性提供给前端,通过前端以页面的形式将对象属性对应的字段展示给用户,用户根据要导入的excel在页面填写对象属性对应的字段,
5、步骤2:通过后台获取用户填写的对应字段与对象属性生成对应关系并读取excel文件,其中读取文件表头,将表头文字和列数存储到map中,
6、步骤3:遍历map内数据,将导入的excel的表头和map中的数据对应,获取对象属性和excel列数的对应的关系,将excel列内数据赋值到对象属性中,对对象属性内数据进行处理和分析,并将数据批量存入数据库。
7、进一步,所述的一种基于java从无序的excel中生成数据的方法的步骤1中在页面填写对象属性对应的字段时,若导入的excel缺少字段,则在表格添加相应字段,完成对象属性对应的字段的填写。
8、进一步,所述的一种基于java从无序的excel中生成数据的方法的步骤2中将表头文字和列数存储到map中,包括将表头文字和列数以key和value的形式进行存储。
9、进一步,所述的一种基于java从无序的excel中生成数据的方法的步骤3中对对象属性内数据进行处理和分析,包括:分析数据是否符合入库要求,若数据符合则导入到数据库,不符合则返回提示用户对数据进行完善。
10、本发明还提供一种基于java从无序的excel中生成数据的装置,包括后台管理模块和前端管理模块,
11、后台管理模块将需要导入的对象属性提供给前端管理模块,前端管理模块以页面的形式将对象属性对应的字段展示给用户,用户根据要导入的excel在页面填写对象属性对应的字段,
12、后台管理模块获取用户填写的对应字段与对象属性生成对应关系并读取excel文件,其中读取文件表头,将表头文字和列数存储到map中,
13、前端管理模块遍历map内数据,将导入的excel的表头和map中的数据对应,获取对象属性和excel列数的对应的关系,将excel列内数据赋值到对象属性中,对对象属性内数据进行处理和分析,并将数据批量存入数据库。
14、进一步,所述的一种基于java从无序的excel中生成数据的装置,在页面填写对象属性对应的字段时,若前端管理模块导入的excel缺少字段,则在表格添加相应字段,完成对象属性对应的字段的填写。
15、进一步,所述的一种基于java从无序的excel中生成数据的装置的后台管理模块将表头文字和列数存储到map中,包括将表头文字和列数以key和value的形式进行存储。
16、进一步,所述的一种基于java从无序的excel中生成数据的装置的后台管理模块对对象属性内数据进行处理和分析,包括:分析数据是否符合入库要求,若数据符合则导入到数据库,不符合则返回提示用户对数据进行完善。
17、本发明的有益之处是:
18、本方法直接面向用户使用,减少项目用户在使用过程中反复修改导入信息的操纵,灵活导入表格,直接应对用户的需求变化。
19、本方法基于对象和反射机制,可以直接应对不同的类,不同情况下的导入,大幅度减少业务处理过程重复性工作。
20、本方法是基于对象和反射机制实现的灵活数据读取,实现无序字段精准复制到对象,可以有效的避免大量数据重复的编辑excel,避免繁琐的数据编辑和处理过程。
21、本方法对象库的设计结构,增加了项目后台系统代码的易读性,减少系统开发上手难度,使沟通维护的成本大大降低。
1.一种基于java从无序的excel中生成数据的方法,其特征是包括:
2.根据权利要求1所述的一种基于java从无序的excel中生成数据的方法,其特征是步骤1中在页面填写对象属性对应的字段时,若导入的excel缺少字段,则在表格添加相应字段,完成对象属性对应的字段的填写。
3.根据权利要求1所述的一种基于java从无序的excel中生成数据的方法,其特征是步骤2中将表头文字和列数存储到map中,包括将表头文字和列数以key和value的形式进行存储。
4.根据权利要求1所述的一种基于java从无序的excel中生成数据的方法,其特征是步骤3中对对象属性内数据进行处理和分析,包括:分析数据是否符合入库要求,若数据符合则导入到数据库,不符合则返回提示用户对数据进行完善。
5.一种基于java从无序的excel中生成数据的装置,其特征是包括后台管理模块和前端管理模块,
6.根据权利要求5所述的一种基于java从无序的excel中生成数据的装置,其特征是在页面填写对象属性对应的字段时,若前端管理模块导入的excel缺少字段,则在表格添加相应字段,完成对象属性对应的字段的填写。
7.根据权利要求5所述的一种基于java从无序的excel中生成数据的装置,其特征是后台管理模块将表头文字和列数存储到map中,包括将表头文字和列数以key和value的形式进行存储。
8.根据权利要求5所述的一种基于java从无序的excel中生成数据的装置,其特征是后台管理模块对对象属性内数据进行处理和分析,包括:分析数据是否符合入库要求,若数据符合则导入到数据库,不符合则返回提示用户对数据进行完善。