栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

大数据(300w条)导出到excel表并分页并压缩为zip

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大数据(300w条)导出到excel表并分页并压缩为zip

话不多说,先上代码:
注意:这种写法只能压缩一个excel表

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

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.xssf.streaming.SXSSFWorkbook;

public class createexcel {

	public static void main(String[] args) {
		OutputStream os = null;
		ZipOutputStream zipos = null;
		
		try {
			
			Workbook wb = new SXSSFWorkbook(100);
			
			Date now1 = new Date();
			
			//定义数据总量
			long numcount = 3000000;
			
			//定义每页数据有多少条
			int pagesize = 10000;
			
			System.out.println("打印数据总量为:"+numcount);
			
			//获取页数
			int pagenum = 0;
			if(numcount % pagesize > 0) {
				pagenum = (int) ((numcount/pagesize) + 1);
			}else {
				pagenum = (int) (numcount/pagesize);
			}
			
			//循环打印数据
			for(int m = 0;m 0) {
					if(m<(pagenum-1)) {
						for(int j = 0;j 

300w条数据,单单导出到excel表,大小是77m左右,如果压缩为zip,大小为3.8m,还是挺有效率的。
同时,在导出为excel表的时候,也试着导出9000w条数据,时间大概是970秒,excel文件大小是2g,但是有个问题,excel表无法打开。不知道是什么原因。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号