2 xxxxvsdsf xxxxvsdsf 于 2016.03.14 10:58 提问

大神进来帮看看,java导出excel的问题……

现在是想进行数据库查询然后导出到excel里面,但是当数据量大的时候就会报内存溢出,导出倒是没问题,就是在查询数据库获取list的时候就报内存溢出了,该如何处理,最好能给出示例,十分感谢

2个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.14 11:11

那你查询是可以分页分批查询出来,然后写入excel中,而且文件数量达到一定数量后再分多个sheet,再进一步可以分多个excel文件 。总之,为了防止内存溢出,要么调整JVM内存参数,要么减少一次加载到内存的数据。

xxxxvsdsf
xxxxvsdsf 回复毕小宝: 好吧,大概明白了
2 年多之前 回复
wojiushiwo945you
wojiushiwo945you 回复xxxxvsdsf: 就是分配while循环执行你原来的整个代码啊?只不过你原来是整个一个List,现在用循环查询N个list 数据执行你的插入操作啊。
2 年多之前 回复
xxxxvsdsf
xxxxvsdsf 回复毕小宝: 分页查询是可以,但是我不知道该怎么把分批查询出来的数据导出到同一个excel里面去![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/36.gif)
2 年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.03.14 11:37

你的数据量是有多大,,,

xxxxvsdsf
xxxxvsdsf 回复Royal_lr: 查询5,6W就报内存溢出了,然而我一天就有60到70万
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
word2007无法打开多个文件/鼠标无法使用解决方法
word2007出问题了啊,看看你是不是装了PD,是不是如下症状?问题症状:1、无法同时打开多个文件;2、鼠标无法使用。解决方法:打开Word,点击左上角的圆形按钮,选择"Word选项",然后选择"加载项",接着在最下端的"管理"右侧的下拉框中选择"COM加载项",然后点击"转到按钮",最后在弹出的"COM加载项"管理窗口中取消"PowerDesigner12....."加载项前面的小勾即可。要是
jxl生成文件,excel打开显示:office已检测此文件存在问题
注:此问题是错误的单元格合并导致 例如 :sheet1.mergeCells(46, rowNum, 45, rowNum + (goodsCount - 1));
poi导出excel,以字符串格式输出数字
装载自 http://blog.csdn.net/z69183787/article/details/48133809  解决了我数字前面有0被省略问题 做过很多次导出excel了。都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法。。。  弄过好几次都没有解决,最近又要导出excel了,下决心一定要找到解决办法 
Java大数据量导出Excel的问题
试共同条件: 数据总数为110011条,每条数据条数为19个字段。 电脑配置为:P4 2.67GHz,1G内存。 一、POI、JXL、FastExcel比较 POI、JXL、FastExcel均为java第三方开源导出Excel的开源项目。 导出方案一:一次性全部导出到一个Excel文件中。 实际情况均报OutOfMemery错误,以下数据为报OutOfMemery
用POI工具进行导出Excel表格时出现的问题
Java.lang.IllegalArgumentException: Maximum number of fonts was exceeded 出错原因:我们在导出Excel表格时会给Excel生成字体:        HSSFFont font = workbook.createFont(); 而这个font字体我们如果在数据循环尤其是记录条数比较多上万的时候写入时用就容
JavaEE_POI导出Excel, 设置导出Excel 单元格样式
最近老大提了个新需求,需要将异常数据标红,网上搜索了一下如何对POI 导出的Excel 进行样式处理,在此mark 一下 代码:(设置Excel 导出Excel 样式的颜色 ) 提示:像 cellStyle, font 等对象只要创建一次就可以了,并不需要每个单元格去创建一个对象,否则话会样式太多,Excel 会报错。 因此我想到了用 HashMap 保存样式表单
关于使用POI导出时excel版本问题的bug解决
使用POI文档。实例化对象时代码如下: Workbook wb = new HSSFWorkbook(new FileInputStream(new File("D:\\tFACTORY.xls"))); 但是D盘的excel文件格式是.xlsx格式的,导致出现了如下的错误: HTTP Status 500 - Request processing failed; nested ex
多线程解决导出excel性能问题
多线程解决导出excel性能问题 第一步:Controller  发起导出数据请求 @RequestMapping(value = "/subpolicy/hdevpayback/exportOtherExcelAll.json") public void exportOtherExcelAll(final HttpServletRequest request, final HttpS
java导出excel大量数据出现错误时解决办法
问题描述:java导出大量数据出现错误:jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a works 问题解释:这个问题实质上就是在导出数据的时候数据的最大值超出了jxl.write包中预设的sheet表格的最大值后者是内存溢出问题,是因为一次性将大量数据载入到内存中,导致虚拟内存不足。
使用poi导出大量数据到excel遇到的问题
最近在工作遇到利用poi导出大量数据到excel并提供下载的运用场景,并遇到了一个问题,当数据量过大时(几十万),后台在进行数据写入excel中的过程会非常耗时,导致迟迟没有响应前台,结果数据还没导完,前台页面就已经崩掉了。 解决思路:接收到前台导出excel请求之后,开一个线程,在线程里进行数据的写入和将写入完成的excel保存到服务器中等耗时操作,前台定时发送ajax请求检测是否已经