请教各位大侠,我需要将查询出来的数据生成excel表格的格式保存,数据量少的情况下没有任何问题,但是一旦数据量大于65536行时,其他的数据就写不进去了 ,如何控制在写了6万跳数据时,让它自动换到一个空的工作表中~~~~~~····~~~

解决方案 »

  1.   

    我用的是jxl写excel,确定sheet时,用的是
    jxl.write.WritableSheet ws = wwb.createSheet("TestSheet1", 0);,你可以把TestSheet1设成个变量,一旦数据量大于65536时,换个sheet不就可以了。
      

  2.   

    int sheetNum = -1;
    WritableSheet sheet = null;
    int j=1;
    for(int i=1; i<=list.size(); i++){
    if((int)i/65535!=sheetNum){
    sheetNum = (int)i/65535;
    sheet = createSheet(workbook, "sheetname_"+(sheetNum+1), sheetNum);
    j=1;
    }
    Datas datas = list.get(i-1);
    sheet.addCell(new Label( 0, j, datas.getColumnA()));
    sheet.addCell(new Label( 1, j, datas.getColumnB()));
    j++;
    }
    private WritableSheet createSheet(WritableWorkbook workbook, String name, int num)throws Exception{
            //创建新sheet
    WritableSheet sheet = workbook.createSheet(name, num);
            //写表头
    sheet.addCell(new Label( 0, 0, "columnA"));
    sheet.addCell(new Label( 1,0,"columnB"));
    return sheet;
    }