00:00
接下来呢,我们来说一下这个阿里巴巴的easy Excel哈,大家之前可能是接触过POI啊,它也是啊做Excel导入导出的这么一个工具,那现在的企业级别呢,主流就是这两种工具啊,一个是P,一个是阿里巴巴的一个Excel,在几乎所有的应用程序呃项目当中都有针对Excel的这个读写的这样的一个功能的一个应用,所以这个功能呢,还是挺常见的啊,那么Excel的读写呢,在咱们的项目当中呢,主要有这样的几种场景,第一个呢,就是数据导入,数据导入呢,比如说我们要录入1000个员工的信息,那这1000个员工如果让人力资源一个一个的去在我们系统当中啊,用这种就是啊新建啊填写保存这样的方式去录入的话呢,那难免工作量会比较大,所以一般情况下,我们在给企业做这种信息化系统的时候,那么如果要初始导入一些数据的时候,那么企业呢,有可能它原始的一些。
01:01
啊,文档当中有一些Excel文档,就是管理这些员工信息,就是他没有上真正的这种网互联网的信化系统的时候,实际上他们原来的无论是员工信息也好,还是商品信息也好,对吧,还是设备信息也好,那都可能呢,呃,以前用Excel呢来管理维护过,所以呢,企业一般情况下都会有这样的一个需求,说能不能直接把我的Excel表里面的员工信息啊,设备信息呀,商品信息呀,对吧?啊来导入到我们系统当中,那么我们呢,就需要这种Excel导入导出的这样的一个工具了,来做Excel的导入,啊,这是Excel导入的场景,接下来呢,我们来说一个数据导出的场景啊,有一些系统呢,比如说它有这个做信息统计的功能,比如说根据你的呃,每天的这个打卡情况,最后导出一个打卡日志对吧,分析一下你这个月的出行记录。啊,然后呢,根据你的这个每天的,比如说一些救援平台哈,他会根据你每天的派车派单情况,然后统计的每一辆车的救援啊记录,统计每一个司机啊的出勤记录的这个啊出现场的一个记录,所以呢啊,那他每次都要统计出来,统计出来呢要计算,计算出来他给财务看,但是呢,每一个月也好,每一个季度也好,每一年也好,做这种信息的统计呢,肯定就是要涉及大量的数据库查询啊,而且呢,你比如说我要查这个一季度的记录,查完了之后,实际上它就不会变了啊,你下一次再查一季度的记录的时候,如果重新的从数据库中再重新查,重新计算的话,如果数据量特别大的话,它实际上也是挺耗费性能的这么一件事情,那我们呢,就希望每一次查询计算分析出来之后呢,能把这个结果呢,给它保存下来,那么最好的一个存储媒介呢,其实也是Excel了,所以我们每次呢,就是把前期比如。
02:54
做一个啊互联网的一个商城系统,对吧,计一下第一季度的销售记,再比如说一个汽车救援一个平台,他统计一下第一个季度的救援记录啊,再比如说我们的线上这个啊,互联网的一个课程平台,他统计一下这个第一个季度的一个出勤和打卡记录,那么我们都可以去给他进行一个统计分析,统计分析呢的过程当中会执行大量的思课语句啊,进行计算啊,进行分组归类啊,查询排序等等等等,好得到结果之后呢,那我们呢,直接把这个结果呢,可以导出到Excel里面,作为一个归档存储,那以后再查询的时候呢,就方便了,不用每一次呢都重新计算,所以呢,这个是数据导出的一个功能,然后接下来呢就是。
03:38
数据传输,数据传输的话呢,一般情况下呢,可以用于异构系统之间的数据传输,比如说呢,我们有一个系统哈,它是一个商城系统啊,这个商城系统呢,它是用PHP做的商城系统哈,商城系统呢,PHP开发的好,现在呢,这个PHP的开发团队呢,已经就都解散了哈,没有PHP的人员,但是这商城系统呢,一直运行着啊,有那么两个维护人员啊,但是代码不太会写啊,就会维护一些简单的内容啊,一直就稳定的运行的啊,此时呢,这个商城的用户呢,就提出了一些更多的需求,比如说能不能根据我的这个商城的销售记录啊,统计一个这个销售排名啊,之前这个商城里面是是没有这个功能的啊,是没有,只能展示每个月的销售记录,但是呢,不能展示销售排名哈,所以呢,好,现在呢,他有一个新的需求叫销售。
04:38
那这销售排名肯定是要根据销售记录来计算了,对不对。好,那要开发程序啊,开发程序PHP的开发人员都解散了,他他没有PHP的开发人员,因为这个PHP的业务逐渐萎缩,然后呢,他就是公司呢,也考虑到人员成本是吧,就PHP呢,都转型成Java了,或者是都辞职了,然后只剩了一两个维护人员,我们现在的核心的技术呢,是扎了。
05:10
那个音技术是Java,大家都熟悉,Java PT都不太会好,然后接下来大家想我能不能用Java去啊,做这样的一个啊销售排名啊,做一个销售排名,然后呢,其实比较简单,因为我这个销售记录呢,实际上是存储到数据库当中的,这边有个数据库哈。只要我这个Java的能直接读取到我之前PHP存数据的这么一个数据库就可以了啊,我去上数据库里取数据就可以了,所以这个呢是数据库BB。好,然后接下来呢,在这个条件下,这个实现是很简单的,PHP写的程序,所有的数据都存在这,然后现在我没有PP了,我只用Java这个基础,比如说cloud步骤建另一个系统就行了,这个系统是专门做销售排名用的,然后我从DB里把销售记录取出来,直接在这面进行运算,对吧?进行业务计算,进行排名,在这面进行展示,那这面呢,就叫销售系统,这面呢就叫啊,业务数据排名展示系统,对吧?啊好,那这样的话就没有问题,但是有些时候会有一些问题,什么问题呢?比如说。
06:22
这是一个公司啊,这是一个公司叫A公司。A公司啊,然后呢,他这个A公司呢,他只是负责开发这个程序,实际上使用这个程序的公司是什么呢?是X公司。没有公司啊。好,X公司呢,来使用这个程序,他们没有开发技术,他们只是运营这个程序,他把这个商城运营起来开发,不是他们开发的,他是找A公司开发的,用PHP开发的啊,然后呢,就开发的PA公司给他开发的这个程序呢,其实就是相当于这个程序吧。
07:06
因为他想图便宜,就X公司想图便宜,他没有买这个程序的完整的源代码版权啊,那A公司呢,就把这个程序呢,作为一个租赁的方式,就租给X公司。把他这个程序啊,作为一个租赁的方式租给X公司,X公司呢,实际上就可以使用这个程序的功能,但是呢,他拿不到这个程序的源代码,明白吧,嗯,好,包括这个数据库的运行啊,啊应用程序的部署啊,实际上都是在A公司下,A公司的服务器,A公司的数据库,A公司的啊,应用程序啊,A公A公司的这个应用程序,服务器,A公司的应用程序,A公司的数据库啊,都是A公司的,只不过就把这个应用程序的访问权限开放给你,X现在网上有很多这样的系统,就是他以租赁的方式啊,再给你开个系统,又租给这边,只要做多租户就可以了啊,然后又租给了Y公司,对吧。
08:07
啊,又租给了Y公司,然后接下来呢,他又开个就是复制了一份虚拟的系统是吧?啊然后呢,又租给了这公司,所以呢,他实际上后台呢,可能就这么一个大的系统,但是呢,他可以用创建这个虚拟用户的方式啊,把它这个账户呢租给不同的公司,那同时呢,它后台的数据库呢,可能呢,也是用这种虚拟这个租户的形式,其实呢,虚拟出三个数据库来,每个数据库呢,都分别给三个不同的XYZ这些公司提供数据服务,啊好了,现在X公司呢,想在销售记录的基础上开发销售排名的功能,那么他跟A公司提说能不能给我们扩展这样的一个销售排名的功能,A公司说不行,得加钱。或者说不行,我们的系统就扩展不了这个功能啊,因为我们的系统是一个通用的,不但要租给你,还要租给Y和Z,对吧,我们为了保证系统的稳定性的,不能随随便便你,你要求功能我就给你加,你要求功能我也给你加,你要求功能我还给你加,也不太现实啊,好,我这系统是一个通用版的,你再想别的办法吧,那X公司怎么办呢?他就找这个XXYZ啊,他要找B公司。
09:26
这是B公司啊,B公司也是一个做软件开发的公司,他说你能不能给我想个办法,在我的这个销售记录的这个系这个系统上呢,去给我做一个销售排名的功能,B公司说办法倒是有,就是有点麻烦啊,为什么呢?因为如果你让我直接去改这个PHP程序的话,我改不了,不是我们公司的程序,是不是人家运行着呢,源代码在人家那包括数据库都在人家那边呢,我根本就访问不了人家这个数据库,那如果要是改的话,第一。
10:00
你得上A公司去给我要数据库的权限,要数据库的访问权限啊,我去访问他的数据库,然后我给你开发,那这是不可能的,我公司内部运行的数据库不可能给别的公司开发出来,阿里巴巴的数据库的用户名密码不可能告诉京东,对吧?京东的用户名密码不可能,数据库的用户名密码不可能告诉美团,这是不现实的,所以怎么办呢?那么B公司就进行了一番研究之后发现在。A公司他所开发的销售记录这个系统里面呢,有一个Excel导出的功能。它会导出一个Excel文件。把所有的销售记录都导出到这个Excel。啊,这是一般情况下商城系统都有的功能啊,就是销售记录啊,用户注册记录啊,是不是啊等等啊,商品进货记录啊,最后呢,都可能会导出到Excel里面,作为一个啊,就是真正的一个独立于这个系统的一个外部文件,而这个Excel文件大家知道是移植非常方便的,它就是一个文件嘛,对吧,你拿硬盘拷来拷去,你在微信里传来传去,你在QQ上对吧,网盘上你可以传,不像这个程序你没有办法说这么传来传去,因为X公司也没有这个程序的源代码,好,那这个Excel文件导出来之后呢,就可以怎么样,X公司呢,就可以拿到这个Excel文件。
11:24
好,他拿到这个Excel文件之后呢,他就交给B公司,B公司呢,根据拿到的这个Excel文件呢,他自己创建一个数据库。自己创建一个数据库啊DB这是他自己的,跟公司没关系了,好然后接下来呢,他就把他拿到的这个Excel啊,他自己就拿到了Excel。进行内容的分析,实际上就间接的分析了A公司数据库里面的数据了,对不对啊,通过Excel的形式,这个中间媒介啊,来访问到了B公司,A公司的数据库里面的数据了哈,那么他通过分析这个Excel呢,就把这个销售排名就能够计算出来了啊,就把这个数据呢,存储到了他自己的这个DB里面,那么X公司现在呢,就可以依托于B公司给他们开发的一个新的销售排名系统,当然了基于的是新的数据库和新的啊这个Java技术,然后来做的这么一个系统,只不过呢,这个地方可能会存在着一些就是数据延迟的问题,比如说他一定要得等到这边的销售记录生成了,并且呢,一定要这个能够在这边生成Excel文件了,然后把这个Excel文件呢拿过来,然后在这面呢进行数据导入,然后再在这个地方进行分析,啊是有这样的一个过程,所以呢,这个呢,我们管它叫异构系统之间的。
12:49
数据传输,这个也是之前我们做项目的时候就真正遇到过的一种情况啊,就是用的这种解决方案来解决我们这个项目当中的这个异构系统之间想要做数据传输啊,然后你还访问不了人家系统的数据库这样的一个问题啊,这样的一个解决方案,所以呢,这块是我们所说的Excel导入导出的一个具体的应用场景,那么用easy Excel呢,肯定就是可以帮助我们完成这样的一个工作了,包括之前的POI也可以帮助我们完成这样的一些工作场景啊。
我来说两句