public void exportBigDataExcel(DTO dto, String path)throws IOException {// 最重要的就是使用SXSSFWorkbook,表示流的方式进行操作// 在内存中保持100行,超过100行将被刷新到磁盘SXSSFWorkbook wb = new SXSSFWorkbook(100);Sheet sh = wb.createSheet(); // 建立新的sheet对象Row row = sh.createRow(0);   // 创建第一行对象// -----------定义表头-----------Cell cel0 = row.createCell(0);cel0.setCellValue("xxx0");Cell cel1 = row.createCell(1);cel1.setCellValue("xxx1");Cell cel2 = row.createCell(2);cel2.setCellValue("xxx2");Cell cel3 = row.createCell(3);cel3.setCellValue("xxx3");Cell cel4 = row.createCell(4);cel4.setCellValue("xxx4");Cell cel5 = row.createCell(5);cel5.setCellValue("xxx5");Cell cel6 = row.createCell(6);cel6.setCellValue("xxx6");Cell cel7 = row.createCell(6);cel7.setCellValue("xxx7");// ---------------------------List<DTO> list = new ArrayList<DTO>();// 数据库中存储的数据行int page_size = 10000;// 求数据库中待导出数据的行数int list_count = (int) dao.getListTotal(dto);// 根据行数求数据提取次数int export_times = list_count % page_size > 0 ? list_count / page_size+ 1 : list_count / page_size;if(list_count<page_size) {page_size=list_count;}// 按次数将数据写入文件for (int j = 0; j < export_times; j++) {//分页dto.setStart(page_size*j+1);dto.setEnd(page_size*(j+1));list=dao.getList(dto);int len = list.size() < page_size ? list.size() : page_size;for (int i = 0; i < len; i++) {Row row_value = sh.createRow(j * page_size + i + 1);Cell cel0_value = row_value.createCell(0);cel0_value.setCellValue(list.get(i).getxx0());Cell cel1_value = row_value.createCell(1);cel1_value.setCellValue(list.get(i).getxx1());Cell cel2_value = row_value.createCell(2);cel2_value.setCellValue(list.get(i).getxx2());Cell cel3_value = row_value.createCell(3);cel3_value.setCellValue(list.get(i).getxx3());Cell cel4_value = row_value.createCell(4);cel4_value.setCellValue(list.get(i).getxx4());Cell cel5_value = row_value.createCell(5);cel5_value.setCellValue(list.get(i).getxx5());Cell cel6_value = row_value.createCell(6);cel6_value.setCellValue(list.get(i).getxx6());Cell cel7_value = row_value.createCell(7);cel7_value.setCellValue(list.get(i).getxx7());}list.clear(); // 每次存储len行,用完了将内容清空,以便内存可重复利用}FileOutputStream fileOut = new FileOutputStream(path);wb.write(fileOut);fileOut.close();wb.dispose();}

poi导出百万数据到excel,只在瞬息之间相关推荐

  1. 使用poi导出大量数据到excel遇到的问题

    最近在工作遇到利用poi导出大量数据到excel并提供下载的运用场景,并遇到了一个问题,当数据量过大时(几十万),后台在进行数据写入excel中的过程会非常耗时,导致迟迟没有响应前台,结果数据还没导完 ...

  2. java POI 写入百万数据到 excel

    .xls文件只支持6w+的数据写入 .xlsx文件只支持104w+数据的写入 在java中jxl工具类只能操作.xls的文件,不能操作.xlsx的文件 POI工具类能够支持.xlsx的文件操作. ex ...

  3. POI导出百万数据 EXCEL addMergedReigon 合并单元格慢的问题解决

    本文最重要的就是以下重写的方法,如果你仅仅是感觉导出慢,原因又是因为合并单元格,那么你直接用一下方法合并就好. private static void addMergedReigon(CTWorksh ...

  4. 使用POI导出百万级数据到excel的解决方案

    使用POI导出百万级数据到excel的解决方案 参考文章: (1)使用POI导出百万级数据到excel的解决方案 (2)https://www.cnblogs.com/hxun/p/11419006. ...

  5. Java操作百万数据量Excel导入导出工具类(程序代码教程)

    Java操作百万数据量Excel导入导出工具类(程序代码教程): # 功能实现1.自定义导入数据格式,支持配置时间.小数点类型(支持单/多sheet)(2种方式:本地文件路径导入(只支持xls.xls ...

  6. python导出百万数据到excel_使用python将大量数据导出到Excel中的小技巧分享

    使用python将大量数据导出到Excel中的小技巧分享 今天小编就为大家分享一篇使用python将大量数据导出到Excel中的小技巧心得,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看 ...

  7. springboot+poi导出百万级数据避免OOM内存溢出

    springboot+poi导出百万级数据避免OOM内存溢出 文章目录 springboot+poi导出百万级数据避免OOM内存溢出 前言 一.具体实现 二.代码实现 1.引入poi包 2.功能代码 ...

  8. asp.net导出GridView数据到Excel

    最近做了一个导出GridView数据到Excel中的例子,把代码和遇到的一些问题放出来.  1        Response.Clear();  2        Response.Buffer = ...

  9. springboot easyexcel导出百万数据优化

    说明 由于某些原因系统jvm内存最大只能给到512,但是要导出百万数据该如何实现呢?传统的一次性导出肯定是不行的 优化 Excel导出基于 springboot , easyexcel 依赖: < ...

  10. java 导出excel教程,[Java教程]导出大量数据到Excel的一种方式

    [Java教程]导出大量数据到Excel的一种方式 0 2012-07-09 17:00:11 在Java Web开发中,经常需要导出大量的数据到Excel,使用POI.JXL直接生成Excel,很容 ...

最新文章

  1. 数据结构和算法:(2)时间复杂度和空间复杂度
  2. 线程同步synchronized理解
  3. 我佛了!用 KNN 实现验证码识别,又 Get 到一招
  4. Python 爬取 620 首虾米歌曲,揭秘五月天为什么狂吸粉?!
  5. 线程之成员变量的线程共享
  6. 使用PublishSetting快速在Powershell中登录Azure
  7. MFC获取电脑硬盘序列号(附源码)
  8. MySQL 数据库规范
  9. lammps软件介绍与使用
  10. vue 做的酷狗音乐网页版 ,酷狗音乐网页版,ui界面模仿原生酷狗音乐
  11. 联想拯救者笔记本电脑亮度无法调节解决办法
  12. CSS 实现水晶按钮特效 - 来自 www.codesc.net
  13. recovery.img 的解包与打包
  14. Adaptive icon 二 设计自适应图标
  15. HDU - 6438 Buy and Resell(思维+ 贪心)
  16. silverlight,WPF动画终极攻略之会飞的小鸟篇(Blend 4开发)
  17. 购买Apple移动硬盘
  18. 双语电子书epub格式
  19. phobos 调试 javascript
  20. 3D脚本 maxscript入门教程

热门文章

  1. MER 音乐情感识别-论文笔记6
  2. SRTF最短剩余时间优先调度C语言实现
  3. unity shader相关工具教程
  4. win10的WLAN/Wifi不见了、网络适配器黄色感叹号、网络中心的更改适配器选项没有连接
  5. 上周刚号召加班,这周立马双休,董明珠把互联网玩明白了……
  6. 挂载阿里云盘到本地目录
  7. vue将图片保存到相册_Vue保存当前页面为图片
  8. 谷歌,微软,阿里,美团实习生面经
  9. 2020.8.25丨微生物基因组重测序流程梳理
  10. [微语 20.11.17] 本质