好久没更了,都在有道云上面记录,没时间搬过来。

easyexcel是最近项目做优化涉及的一个改善点吧。

简介

导出是后台管理系统的常用功能,当数据量特别大的时候会内存溢出和卡顿页面,曾经自己封装过一个导出,POI百万级大数据量EXCEL导出 采用了分批查询数据来避免内存溢出和使用SXSSFWorkbook方式缓存数据到文件上以解决下载大文件EXCEL卡死页面的问题。

不过还是存在很多问题,一是存在封装不太友好使用不方便的问题,二是这些poi的操作方式仍然存在内存占用过大的问题,三是存在空循环和整除的时候数据有缺陷的问题,以及存在内存溢出的隐患。无意间查询到阿里开源的EasyExcel框架,发现可以将解析的EXCEL的内存占用控制在KB级别,并且绝对不会内存溢出(内部实现待研究),还有就是速度极快, 大概100W条记录,十几个字段, 只需要70秒即可完成下载。遂抛弃自己封装的,转战研究阿里开源的EasyExcel。

 
maven

以下是代码片段

 
代码片段1
 
代码片段2

百万行数据24列,导出只要20S,而且不会出现内存溢出的情况。还不错哦!

最新文章

  1. SharePoint 2013 为用户组自定义EventReceiver
  2. mysql 字符串处理优化
  3. Android 圆形ProgressBar风格设置
  4. Spring MVC 的视图转发
  5. linux命令中 rpm –qa|grep softname的含义
  6. Counting Lines, Words, and Characters with wc
  7. 准备开发一个基于canvas的图表库,记录一些东西(一)
  8. linux下core文件调试方法(转载)
  9. (转)Collections类方法详解
  10. [转]ORACLE递归查询
  11. solr单机版安装与基本部署
  12. freemarker中的split字符串分割(十六)
  13. shell 到达一定数量文件自动删除最久时间文件
  14. phpcms 标签含义大全
  15. 新的ipad,用xcode编译报错 dyld_shared_cache_extract_dylibs
  16. Django中常用命令
  17. 2018.11.06 bzoj1912: [Apio2010]patrol 巡逻(树形dp)
  18. hbase使用MapReduce操作4(实现将 HDFS 中的数据写入到 HBase 表中)
  19. unity 2d 游戏优化之路 遇坑记录
  20. CF_400_D

热门文章

  1. spring aop 一个挡板例子
  2. springmvc接收参数为日期类型
  3. Linux中常用命令cat
  4. Linux学习笔记之Linux磁盘及文件系统管理笔记
  5. SpringBoot中使用@scheduled定时执行任务需要注意的坑
  6. 用友U9 部署
  7. windows10结束进程
  8. 详细的Hadoop的入门教程-伪分布模式Pseudo-Distributed Operation
  9. Java自学-数字与字符串 比较字符串
  10. Java 之 异常基础