jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been excee

jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exceeded 
当数据量比较大的时候,如果超过了65536条的时候,导出的时候就会如下的错误: 
jxl.write.biff.RowsExceededException:允许在工作表的最大行数已经超过 
所以当条数超过最大值时,在新增一个工作表。就可以解决这个问题 

代码示例:

	    response.setContentType("application/vnd.ms-excel; charset=gbk");
            response.setHeader("Content-disposition","attachment; filename=TTS" + MDateUtil.now().replace(":","-") + ".xls");
            OutputStream stream = response.getOutputStream();
            WritableWorkbook wwb = Workbook.createWorkbook(new File(request.getRealPath("/") + param.get("UpFile")), rwb);
            int total=listImprotRoute.size();
            int mus = 2;
            int avg = total / mus;
            for (int j = 0; j < avg + 1; j++) {
                WritableSheet ws = wwb.createSheet("列表" + (j + 1), j); //创建一个可写入的工作表
                int num = j * mus;
                int index = 0;
                for (int i = num; i < listImprotRoute.size(); i++) {
                    if (index == mus) {//判断index == mus的时候跳出当前for循环
                        break;
                    }
                    importRoute im=listImprotRoute.get(i);
                    Label fileNumber=new Label(0,2+index,im.getFileNumber());
                    ws.addCell(fileNumber);
                    Label onebirthland=new Label(1,2+index,im.getOnebirthland());
                    ws.addCell(onebirthland);
                    Label onedestination=new Label(2,2+index,im.getOnedestination());
                    ws.addCell(onedestination);
                    Label twobirthland=new Label(3, 2+index,im.getTwobirthland());
                    ws.addCell(twobirthland);
                    Label twodestination=new Label(4, 2+index, im.getTwodestination());
                    ws.addCell(twodestination);
                    Label onestartTime=new Label(5,2+index,im.getOnestartTime());
                    ws.addCell(onestartTime);
                    Label oneendTime=new Label(6, 2+index, im.getOneendTime());
                    ws.addCell(oneendTime);
                    Label twostartTime=new Label(7, 2+index, im.getTwostartTime());
                    ws.addCell(twostartTime);
                    index++;
                }
            }
            wwb.write();
            wwb.close();
            InputStream is = new FileInputStream(new File(request.getRealPath("/") + param.get("UpFile")));
            byte[] bytes = new byte[is.available()];
            is.read(bytes);
            response.getOutputStream().write(bytes);
            response.getOutputStream().flush(); 
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做个文艺程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值