小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
1.背景:
当一个系统在逐步发展的过程中,每个用户的数据会依次的进行数据增长,当数据达到一定的数量且我想给别的同步也想要的时候,数据迁移的需求就随之而来,比如我用户A中的商品数据,其中可能包括一个商品系列中,商品的尺寸,分类,材料,属性,特色,具体的各个属性的信息,以及卖点等,我这个系列在这个用户下我已经可以开始用了,接着我好朋友B用户又开展了,或者是我自己又开了一个账户,但是我不想在重新建立商品系列的数据,这时候呢,为用户提供一个标准的数据迁移的场景就特别重要。
这里说的是基本的数据处理,也就是导入导出的功能,很多系统一般都会用到导出的功能,比如说定制化的图表统计,月季度的数据汇总,考勤的月度情况总结,系统的异常数据汇总等,我们在更多的场景下,使用特定的图表,有助于用户直观的理解当前数据曲线包含的意义,也为更多的定制化需求市场中提供重要的材料。 举个例子,比如钉钉每个月的月度请假,会根据你请假情况,直接生成PDF的请假单,这种用导出工具化的下载图表方式,从系统到现实的数据触碰,给你带来的可能是很大的便利,我们也从中减少了很多琐事的环节。
2.企业系统中一般使用的导入导出是基于什么的?
系统一般使用的导出,肯定是基于数据处理和汇总的,包括日志操作,监控数据处理等,其中一个方面是为了数据汇总,之后将数据更好的查看情况,另一个则是将数据进行处理,比如数据导出之后,在另一个账户导入,来达到一个数据标准化迁移的过程。当前你在导入的过程中,也可以将定制化的数据进行修改,我们也可以提供相应的模版,为导入的数据做提示和引导。 本质上:导入导出功能的使用,一是方面用户汇总和查看数据,另一个是将数据迁移和更好的处理数据
2.1对于导入导出的方案解析:
上述是通过需求,定制化的场景去分析得出的一些信息, 对于导入导出的方案,通用的,一般是图表类的Excel,文件类型PDF,另一方面是定制化场景JSON数据, 可能有的系统会直接提出一个文本框的控件,将你需要的JSON解析,从而使用处理数据。
- 图表统计型:Excel,PDF文件
- 数据处理型:JSON格式
2.2主流的技术实现以及难点:
市面上对于导入导出的实现技术提供还是很多的,
- 基于APache的POI
- Alibaba的EasyExcel easyExcel官网
- Hutool的对于POI的支持 hutool官网POI组件
等等,其实还有很多,我这里列举的是,基本的POI, 注重性能的easyExcel,以及比较简单易操作的hutool工具,
其实对于基本的excel,可以用到这些组件,对于json格式的数据,那就要从头开始了.