您的位置:首页 > 其它

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

2015-10-23 13:45 691 查看
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: