java execl pio 导出背后的坑

本文探讨了Java导出Excel的两种方法,包括使用较旧的jxl库和Apache POI。针对POI,文章详细说明了在处理大量数据时可能出现的内存泄漏问题,尤其是当数据超过256列或内存限制时。解决方案是利用SXSSFWorkbook类的构造函数,通过指定缓存行数来避免内存溢出。
摘要由CSDN通过智能技术生成

目前, java导出exexl目前有两种方法,第一种是基于jxl,jar的导出,第二种是基于Apache的pio的方式。

首先,我们先讨论一下execl的格式背景

execl版本 最多行 最多列
2003 65536(2^16) 256(2^8)
2007(及以上版本) 1048576(2^20) 16384(2^14)

 

第一步导入所需要的jar包

第一种,jar包较为久远jxl 版本的数据,很可惜这个只支持2003版本的execl

具体数据我本人都是存在Arrylist中,

 

 


		//创建文件,获取数据,写入excel
        // 参数一:数据list
        //参数二:execl的列名,说白了就是一行数据每列的名称,存在数组里面,
        //参数三:输出文件的路径位置
		 public  void writeExcel(List<String[]> list,String[] title,String path) {
			String fileName =path;
			Label label;
			//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象        
			try {
				WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName));
				File dbfFile = new File(fileName);  
				if (!dbfFile.exists() || dbfFile.isDirectory()) {  
				    dbfFile.createNewFile();  
				}
				int sheets=3;//创建多少个sheet
					//写入数据
				for(int i=0;i<sheets;i++) {
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值