`
wuhaidong
  • 浏览: 357851 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

解决poi 写入大数据量到excel2007,总是报错缓存溢出

    博客分类:
  • EE
 
阅读更多

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hslf.model.Sheet;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FileOutputStream out = null;
		try {
			out = new FileOutputStream(new File("D://result.xlsx"));
			Workbook writeWB = new SXSSFWorkbook(500);  
	        org.apache.poi.ss.usermodel.Sheet writeSheet = writeWB.createSheet("1");
	        for (int i=0; i<1000000;i++) {  
	            Row writeRow = writeSheet.createRow(i);  
	            for (int j = 0; j < 10; j++) {  
	                writeRow.createCell(j).setCellValue("中国");  
	            }  
	        }  
	        writeWB.write(out);  
	        out.flush();
	        out.close();
	        System.out.println("测试成功!");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
	}
}
 
分享到:
评论

相关推荐

    POI 3.8 Beta5 创建大数据量 Excel文件

    在POI 3.8 Beta5这个版本中,开发者可以利用它来处理大数据量的Excel文件,这在数据处理、报告生成或数据分析场景中非常有用。 Apache POI库提供了HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet ...

    Java解析大数据量Excel,可解析1048576行excel

    在处理大数据量的Excel文件时,Java是一种常用的语言,因为它提供了强大的库,如Apache POI,使得解析大型Excel文件成为可能。Apache POI是Java的一个开源项目,专门用于读写Microsoft Office格式的文件,包括Excel...

    Java使用POI导出大数据量Excel的方法

    在Java开发中,导出大数据量的Excel文件可能会面临内存溢出的问题,特别是在使用Apache POI库时。这是因为默认情况下,POI会将整个Excel工作簿存储在内存中,当数据量过大时,内存消耗非常显著,可能导致系统崩溃。...

    Java_批量导出大数据量Excel方法.zip

    2. **分块写入**: 当数据量过大时,一次性将所有数据写入Excel会导致内存溢出。因此,通常采用分块写入的方式,每次只处理一部分数据,然后将结果追加到Excel文件中。这样可以有效减少内存占用,提高系统性能。 3. ...

    poi导出excel2007

    ### 使用Apache POI导出Excel 2007并避免内存溢出问题 #### 背景介绍 在处理大量数据时,使用Java导出Excel文件可能会遇到内存溢出的问题,尤其是在导出Excel 2007(.xlsx格式)时更为常见。这是因为传统的`...

    使用POI解析excel文件并写入数据库

    - 对于大数据量,考虑使用数据库的批量导入功能,如MySQL的LOAD DATA INFILE。 通过以上步骤,你可以有效地使用Apache POI解析Excel文件,并将数据写入数据库。这个过程涵盖了文件操作、数据解析、数据库连接和...

    poi多sheet页导出工具类和实例 包含多个excel导出

    - **内存优化**:由于 POI 默认会加载整个工作簿到内存,对于大数据量可能导致内存溢出。可以使用SXSSFWorkbook,它是POI的低内存版本,支持流式写入,只保留最近使用的行在内存中。 - **批处理写入**:不一次性...

    Excel解析工具POI.jar

    《Excel解析工具POI.jar详解》 在信息技术领域,数据处理是不可或缺的一部分,尤其是在大数据时代,...在实际应用中,熟练掌握POI.jar的使用技巧,可以极大地提升Excel数据处理的效率,为企业信息化建设提供有力支持。

    java写入excel

    在Java操作Excel文件时,可能会出现内存溢出异常,特别是在处理大数据量时。解决这个问题可以使用以下方法: * 使用POI的SXSSF-API,这是一个基于Streaming的API,用于处理大数据量的Excel文件。 * 使用Java的垃圾...

    POI3.8中 大数据量的处理.pdf

    总之,Apache POI 3.8 中的SXSSFWorkbook是处理大数据量Excel文件的理想选择,它通过流式处理和磁盘缓存策略,有效地解决了内存限制问题,确保了大规模数据处理的可行性。在互联网和计算机科学(cs)领域,这样的...

    poi SXSSFWorkbook.jar.zip 齐全jar包,数据导出excel,功能强大

    总结来说,这个压缩包提供了Apache POI的SXSSFWorkbook组件,适合处理大规模Excel数据导出任务,且附带了必要的依赖库,使得开发者可以快速集成到Java项目中,实现高效的数据导出功能。通过利用SXSSFWorkbook的特性...

    POI解析excel文件

    - **写入数据**: 创建`Row`和`Cell`对象,然后设置它们的值。可以通过`Cell.setCellValue()`方法来实现。 - **关闭资源**: 写入完成后,别忘了调用`Workbook`的`write()`方法和流的`close()`方法,确保数据被正确...

    java导出excel及POI3.10jar包

    在处理Excel时,POI提供了HSSF(Horrible Spreadsheet Format)用于处理.xls格式(Excel 97-2007),以及XSSF(eXtended Spreadsheet Format)用于处理.xlsx格式(Excel 2007及以上)。 **POI 3.10版本特性** 1. **...

    Poi导出Excel工具类

    对于大数据量,可能会采用迭代的方式避免一次性加载所有数据导致内存溢出。 5. **创建标题行**:如果数据有列名,工具类通常会提供一个方法来创建带有列名的标题行。这可以设置特殊的样式,如加粗、居中等。 6. **...

    java poi操作excel批量导入导出项目需要的jar包

    - **SXSSF (Streaming Usermodel API)**:内存效率较高,适用于处理大量数据,可以将数据写入磁盘,避免内存溢出。 4. **创建工作簿和工作表**: 使用`WorkbookFactory`类创建`Workbook`对象,代表整个Excel文件...

    POI解析excel并存入mysqlのdemo

    这个“POI解析excel并存入mysqlのdemo”是利用 Java 的 Apache POI 库来读取 Excel 数据,并将这些数据存储到 MySQL 数据库中的示例。下面我们将详细探讨相关的知识点。 1. **Apache POI**: Apache POI 是一个...

    报表技术POI导入导出复杂样式Excel和百万数据(Java代码).zip

    总之,Apache POI为Java开发者提供了强大的工具,用于处理Excel文件的复杂样式和大数据量。理解并熟练运用POI的各种API,能帮助我们在报表技术中实现高效、灵活的导入导出功能,提升业务系统的用户体验和性能。

    java将数据导入多个excel并压缩,亲测可用

    - **多线程处理**:如果数据量大,可以考虑使用多线程来并发创建Excel文件,提高效率。 3. **文件操作**: - **创建临时文件**:在内存中创建Excel文件后,需要将其保存到本地文件系统。可以使用`...

    poi 读取excl 解析excl数据并写出到excl

    - 如果需要在已有Excel文件上写入数据,可以先读取原文件,然后在内存中进行修改,最后写回。 - 要注意,如果要覆盖原有数据,可能需要先删除旧的单元格,再插入新的单元格。 5. **性能优化**: - 使用`...

    多线程导入excel 数据

    - **锁的应用**:在读取或写入Excel数据时,如果涉及到共享的数据结构(如数据库连接、缓存),可能需要使用同步锁来保证操作的原子性,避免数据错乱。 4. **Excel处理库**: - **Apache POI**:这是一个广泛使用...

Global site tag (gtag.js) - Google Analytics