java大数据导出excel

package com.demo.pool;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class Demo {
 public static void main(String[]args) throws IOException, RowsExceededException, WriteException{
  File [] fileArray = new File[10];
  for(int i=0;i<10;i++){
   File file = new File("D:\\a"+i+".xls");
   if(!file.exists())
    file.createNewFile();
   fileArray[i]=file;
   WritableWorkbook book = Workbook.createWorkbook(file);
   WritableFont font1 =new WritableFont(WritableFont.createFont("微软雅黑"), 10 ,WritableFont.BOLD);
         WritableCellFormat wcf = new WritableCellFormat(font1);
         WritableSheet sheet = book.createSheet(" 第一页 "+i, i);
         for(int j=0;j<60000;j++){
    Label label = new Label(0,j, "Head1", wcf);
    Label labe2 = new Label(1,j, "Head1", wcf);
    Label labe3 = new Label(2,j, "Head1", wcf);
    Label labe4 = new Label(3,j, "Head1", wcf);
    Label labe5 = new Label(4,j, "Head1", wcf);
    sheet.addCell(label);
    sheet.addCell(labe2);
    sheet.addCell(labe3);
    sheet.addCell(labe4);
    sheet.addCell(labe5);
   }
   book.write();
   book.close();
  }
   File f2=new File("D:\\test.zip");
  zip(fileArray,f2);
 }
 
 public static void zip(File[] srcfile,File zipfile) throws IOException{
   byte[] buf=new byte[1024];
         try {
             //ZipOutputStream类:完成文件或文件夹的压缩
             ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipfile));
             for(int i=0;i<srcfile.length;i++){
                 FileInputStream in=new FileInputStream(srcfile[i]);
                 out.putNextEntry(new ZipEntry(srcfile[i].getName()));
                 int len;
                 while((len=in.read(buf))>0){
                     out.write(buf,0,len);
                 }
                 out.closeEntry();
                 in.close();
                 srcfile[i].delete();
             }
             out.close();
             System.out.println("压缩完成.");
         } catch (Exception e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值