POI 内存溢出解决方案
来源:互联网 发布:mac可以用盗版软件吗 编辑:程序博客网 时间:2024/06/06 06:53
POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果也不是太好。3.8版本的POI新出来了SXSSFWorkbook,可以支持大数据量的操作,只是SXSSFWorkbook只支持.xlsx格式,不支持.xls格式。3.8版本的POI对excel的导出操作,一般只使用HSSFWorkbook以及 SXSSFWorkbook,HSSFWorkbook用来处理较少的数据量,SXSSFWorkbook用来处理大数据量以及超大数据量的导出。HSSFWorkbook的使用方法和之前的版本的使用方法一致,这里就不在陈述使用方法了 SXSSFWorkbook的使用例子如下:
import junit.framework.Assert;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
public static void main(String[] args) throws Throwable {
Workbook wb = new SXSSFWorkbook(100); // keep 100 rows in memory, exceeding rows will be flushed to disk
Sheet sh = wb.createSheet();
for(int rownum = 0; rownum < 100000; rownum++){
Row row = sh.createRow(rownum);
for(int cellnum = 0; cellnum < 10; cellnum++){
Cell cell = row.createCell(cellnum);
String address = new CellReference(cell).formatAsString();
cell.setCellValue(address); }
}
FileOutputStream out = new FileOutputStream("/temp/sxssf.xlsx");
wb.write(out);
out.close();
}
以上是转载的
值得注意的是SXSSFWorkbook只能写不能读。但是往往我们需要向一个Excel模版里导出数据,这样才更好提前定义里面的格式和vba代码。
这里就需要使用SXSSFWorkbook的另外一个构造函数:
SXSSFWorkbook(XSSFWorkbook workbook)Construct a workbook from a template.
通过XSSFWorkbook来读取模版,然后用SXSSFWorkbook来设置样式和写数据,详细使用就参考API吧。
http://poi.apache.org/apidocs/org/apache/poi/xssf/streaming/SXSSFWorkbook.html
- POI 内存溢出解决方案
- POI 内存溢出解决方案
- JAVA关于POI导出Excel内存溢出的解决方案
- poi解析excel内存溢出
- 内存溢出异常解决方案
- 内存溢出和解决方案!
- Tomcate内存溢出解决方案
- PHP内存溢出解决方案
- WEBLOGIC 内存溢出 解决方案
- PHP内存溢出解决方案
- JAVA内存溢出 解决方案
- jvm内存溢出解决方案
- java 内存溢出解决方案
- Android内存溢出解决方案
- tomcat内存溢出解决方案
- TOMCAT内存溢出解决方案
- 内存溢出的解决方案
- Handler内存溢出解决方案
- oracle RMAN 备份恢复总结
- 新的C#学习经验
- MFC的Document和View类之间访问
- JAVA学习日志(一)
- Xming + PuTTY在Windows下远程Linux主机使用图形界面的程序
- POI 内存溢出解决方案
- linux 下使用rar分割,压缩文件。
- Corrupt Icon File - The icon file icon@2x.png appears to be corrupt.
- dotcloud 托管 python web应用 第二章 mysql数据库操作
- Delphi Distiller v1.77
- 使用Spring MVC HandlerExceptionResolver处理异常
- Delphi 显示选择文件夹对话框 (有新建按钮)
- android assets文件夹应用
- ORACLE RMAN备份及还原