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:允许在工作表的最大行数已经超过
所以当条数超过最大值时,在新增一个工作表。就可以解决这个问题
大概的代码是这样子写的:
当数据量比较大的时候,如果超过了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(); }
相关文章推荐
- Linux搭建vsftp
- Boost源码学习二[内存管理一]下
- 【程序员眼中的统计学(8)】统计抽样的运用:抽取样本
- idea快捷键
- Centos7安装MySQL常见问题
- BosonNLP分词技术解密
- top指令的部分参数讲解
- Android各种轮子
- poj3279-Fliptile 技巧1 开灯问题
- 【转】SQLServerDBA十大必备工具---让生活轻松点
- uitableview 优化
- Maven环境搭建、调试、打包
- LSGO软件技术团队与信息1402班开展真人CS活动
- android开发游记:viewpager关联tabs,自定义tabs实现翻页滚动效果
- Bat命令学习
- [C++] [算法] KMP算法
- 当用curl爬取数据时,如果想截取的内容前后html都含有换行符,空格,该如何处理
- 你容易忽视的mysql外键锁和自增锁
- ThinkPHP登录
- 如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录