我有近100,000条记录的数据,我正在尝试使用XSSFWorkbook通过

Java代码将数据写入.xlsx文件.我能够将数据库中的所有数据提取到ArrayList.通过迭代ArryList,我将数据逐个单元地写入.xlsx文件.

当它达到8000行时,java代码抛出内存堆空间错误.

我已经读过某个地方,与XSSFWorkbook相比,SXSSFWorkbook会更轻,所以我尝试使用SXSSFWorkbook.但我仍面临同样的问题.

那么,我在工作簿或我的Java代码中缺少什么?

最初,当我有60,000条记录数据时,我使用了.xls文件.相同的java代码能够使用HSSFWorkbook生成.xls文件.

增加Java堆空间根本不是一个选项,因为我的数据将来会大大增加.

任何帮助将不胜感激.

小块代码,我将数据写入Excel的方式.

int rowNum = sheet.getLastRowNum();

Row lastRow = null ;

Cell cell = null;

ReportingHelperVo reportingHelperVo = null;

for (ReportingVo reportingVo : reportingVos) {

rowNum++;

lastRow = sheet.createRow(rowNum);

reportingHelperVo = reportingVo.reportingHelperVo;

cell = lastRow.createCell(0);

cell.setCellValue(reportingHelperVo.getLocation());

cell.setCellStyle(style);

cell = lastRow.createCell(1);

cell.setCellValue(reportingHelperVo.getCity());

cell.setCellStyle(style);

cell = lastRow.createCell(2);

cell.setCellValue(reportingHelperVo.getCountry());

cell.setCellStyle(style);

}

java 读取excel2007 内存不足_内存不足错误 – 写入Excel时的Java堆空间相关推荐

  1. java 读取excel2007 内存不足_原创 |我是如何解决POI解析Excel出现的OOM问题的?

    背景 之前接手过一个解析Excel的项目,使用的是Java里的POI组件解析的,但是在解析时候经常出现OOM,后来我从下面几个方面优化了下,解决了99%的问题,对,你没看错,只解决了99%. 解决方案 ...

  2. java 读取excel2007 内存不足_POI处理excel2007内存溢出问题

    项目中遇到数据导入.导出用excle操作的问题,数据量在W级别,因03版有6W+的限制,系统统一采用07版excel来做,采用POI进行处理,在导入.导出的时候都遇到的内存溢出的问题,导入方面主要参考 ...

  3. Java多线程_1_Java内存模型_内存模型的3大特性

    Java内存模型: 内存分布情况及其关系: 主内存:Java内存模型规定所有的变量都保存在主内存中 工作内存:每个线程都有自己的工作内存,保存了该线程使用到的变量的主内存副本拷贝 主内存与工作内存的关 ...

  4. java内存栅栏_内存屏障(Memory Barriers/Fences) - 并发编程中最基础的一项技术

    我们经常都听到并发编程,但很多人都被其高大上的感觉迷惑而停留在知道听说这一层面,下面我们就来讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见 ...

  5. java内存屏障_内存屏障 | 并发编程网 – ifeve.com

    本文我将和大家讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见的一项技术. CPU使用了很多优化技术来实现一个目标:CPU执行单元的速度要远 ...

  6. java heap space 解决方法_内存溢出错误:java堆空间

    本文为翻译的文章,作者PANKAJ,原文: https://www.journaldev.com/21010/java-lang-outofmemoryerror-java-heap-space 当J ...

  7. java 内存池_内存池技术介绍(图文并茂,非常清楚)

    看到一篇关于内存池技术的介绍文章,受益匪浅,转贴至此. 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别.而在编程实践中,不可避 ...

  8. java读取文件特别慢_如何提高在Java中读取大文件的速度?

    我只读了一个大小为167MB且行号为1884000的文件.我使用的方法是BufferedReader,以获得读取它的效果. 我注意到,随着当前行号的增加,读取文件的过程越来越慢(在这种情况下,我花了3 ...

  9. jni jvm 内存泄漏_内存泄漏

    OOM:内存溢出,内存泄漏多了就会造成OOM 1.什么是内存泄漏?--JVM,GC垃圾回收机制 内存不在GC掌控之内 (1)什么是垃圾回收机制? 举例: 食堂和餐馆吃饭 第一种:吃完饭了自己去把剩饭倒 ...

最新文章

  1. Mac上搭建Nginx + rtmp
  2. richTextBox1 转到行号
  3. 学python爬虫需要什么基础-从零开始教你学爬虫!python爬虫的基本流程!
  4. Ksenia and Pan Scales(思维题)
  5. get pid and kill
  6. 死锁 操作系统第二章知识点归纳总结
  7. Python绘制具有描边效果和内部填充的柱状图
  8. batocera整合包_模擬器作業系統RetroPie更新至4.6,支援Raspberry Pi 4、新增NeoGeo CD模擬功能...
  9. ERROR: libx264 not found
  10. 研磨设计模式-设计模式的基础-设计模式有什么
  11. Garmin NUVI C255 固件刷机教程
  12. easycamera arm linux环境下运行时库文件找不到的解决方案
  13. 如何用photoshop做24色环_PS色相环制作方法和教程
  14. 数据结构实验一,第10题:基于顺序存储结构的图书信息表的图书去重
  15. excel日期改成字符类型_Excel表格中怎么把日期格式转换成文本格式?excel表格自定义格式的日期...
  16. html 消除序号,JS实现删除一行数据页面序号重新排序功能。
  17. Android本地数据搜索实现
  18. oracle运维常用语句,oracle运维个人常用检查语句整理
  19. EC20模块内置协议栈的开发笔记
  20. Grafana画图表教程

热门文章

  1. html,css 淘宝静态页面
  2. 日志文件系统是怎样工作的
  3. Python Tkinter GUI(一)简单小窗口
  4. jsp人事工资管理系统 课程设计
  5. 简单脉搏波波形分析系统设计与实现
  6. 阿里研究员:测试稳定性三板斧,赶紧来学习一下
  7. TCP 可靠传输机制
  8. IDEA无法下载源码Cannot download sources.
  9. 如何使用anydesk进行远程控制?进来长知识
  10. COCO数据集简介与处理