可爱的琪琪,开心快乐每一天
温馨小屋
可爱的琪琪,开心快乐每一天
posts - 7,comments - 39,trackbacks - 0

public static void main(String[] args) {
  ListPortAction.test();
 }

    public static void test(){
  try{
   String targetfile = "c:/1.xls";
      OutputStream os = new FileOutputStream(targetfile);
      jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
      jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);
      for(int i=0;i<50;i++){
       if(i!=0){
        InputStream in = new FileInputStream(targetfile);
        Workbook wb = Workbook.getWorkbook(in);
        os = new FileOutputStream(targetfile);
        wwb = Workbook.createWorkbook(os,wb);
        ws = wwb.getSheet(0);
        wb.close();          
        in.close();
       }
       for(int j=0;j<1000;j++){
        Label l = new Label(0,j+i*1000,"测试");
        ws.addCell(l);
       }
       try{
       wwb.write();
       wwb.close();
       os.flush();
       os.close();
       }catch(Exception e){
        System.out.println("错误2:");
        e.printStackTrace();
       }
      }
     }catch(Exception e){
      System.out.println("错误:");
      e.printStackTrace();
     }
 }
以上是我写的一个测试类,写5W条记录现在是没有问题,先存硬盘,然后从硬盘获取流,最后可以写到response的outputStream中,不过感觉自己的代码质量不是很好,欢迎高手多多指教。可以互相交流思想。

posted on 2006-09-01 09:51 陈琪 阅读(2070) 评论(1)  编辑  收藏

FeedBack:
# re: 如何解决使用jxl写excel文件出现的内存泄露的情况[未登录]
2009-04-23 11:21 | hh
怎么会不溢出呢?5W行5列都已经溢出了  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: