针对Excel的上传,采用的是比较常规的方法,其实和文件上传是相同的。首先我们将源码展示出来,然后再具体说明针对上面的源码,我们可以发现,我们需要将读取到的EXCEL数据插入到数据库中,这里为了减小数据库的IO和提高插入的效率,我们采用5000一批的批量插入。所有采用了Java多线程的Future模式,采用异步的方式最终来获取J执行结果。如果大家有更好的方法,欢迎留言。之前的代码是一次性查出所有的结果,list里面存了几十万条数据。因为功能设计的问题,我这一个接口要同时处理三个功能:再加上查询SQL的效率问题,导致请求超时。避免出现内存溢出导致系统崩溃。经验证,查询加封装EXCEL7000条数据处理只需要1秒

使用Springboot+poi上传并处理百万级数据EXCEL

使用Springboot+poi上传并处理百万级数据EXCEL

使用Springboot+poi上传并处理百万级数据EXCEL

使用Springboot+poi上传并处理百万级数据EXCEL

使用Springboot+poi上传并处理百万级数据EXCEL

使用Springboot+poi上传并处理百万级数据EXCEL

使用Springboot+poi上传并处理百万级数据EXCEL

使用Springboot+poi上传并处理百万级数据EXCEL