解决java poi导出excel2003不能超过65536行的问题
java poi在导出数据到excel2003工作表中时一个工作表只能存储65536行数据,如果超过这个数据就会失败,excel2007并没有这个问题,但是为了兼容性我们通常都是导出到2003版本上的。
1、导出成xlsx格式。
2、达到某个数值就再创建一张工作表。
/*** 如果达到50000条数据则重新创建工作表的逻辑*/@Overridepublic void exportExcel(List<HolidayItemForm> formList, ServletOutputStream outputStream){try {//工作表名后面的数字,如表1,表2int i = 0;//记录总行数int rownum = 0;//记录每个sheet的行数int tempnum = 0;//分页条数达到此条数则创建工作表int page = 5;//创建工作薄HSSFWorkbook workbook = new HSSFWorkbook();//创建列标题栏样式HSSFCellStyle cellStyle = ExcelUtils.createCellStyle(workbook, (short)10);while(true){//创建工作表并应用上面的样式HSSFSheet sheet = ExcelUtils.createWorkbook(workbook,cellStyle,++i);rownum++;//将数据库中的数据列表写入excel中if(formList != null){tempnum = 0;for (int j=rownum-i; j<formList.size(); j++) {//进入第2个sheet写出的行数从第2条数据开始(++tempnum等于1,因为标题行占了1行)HSSFRow row2 = sheet.createRow(++tempnum);rownum++;row2.createCell(0).setCellValue(formList.get(j).getUserId());row2.createCell(1).setCellValue(formList.get(j).getUserName());row2.createCell(2).setCellValue(formList.get(j).getDeptName());row2.createCell(3).setCellValue(formList.get(j).getUserJob());row2.createCell(4).setCellValue(formList.get(j).getTypeName());row2.createCell(5).setCellValue(formList.get(j).getBeginDate());row2.createCell(6).setCellValue(formList.get(j).getEndDate());row2.createCell(7).setCellValue(formList.get(j).getHolidayHour());row2.createCell(8).setCellValue(formList.get(j).getCreateDate());//达到5条退出并创建另外一个sheetif(rownum%page == 0){break;}}}//如果记录的行数等于集合的总行数则退出if((rownum-i) == formList.size()){break;}}//输出 workbook.write(outputStream);workbook.close();} catch (IOException e) {e.printStackTrace();}}
参考:https://blog.csdn.net/wjycgl/article/details/53942818。
转载于:https://www.cnblogs.com/day1day1up/p/11333968.html
解决java poi导出excel2003不能超过65536行的问题相关推荐
- java导出excel限制大小_解决java poi导出excel2003不能超过65536行的问题
/*** 如果达到50000条数据则重新创建工作表的逻辑*/@Overridepublic void exportExcel(ListformList, ServletOutputStream out ...
- java poi 导出excel不能超过65536行
java poi 导出excel不能超过65536行 报这个异常 Exception in thread "main" java.lang.IllegalArgumentExcep ...
- 解决 java poi 导出Excel 无法打开问题
下载后的文件打开如下所示 通常一般会去查找poi 相关jar 包问题,但是经过各种排查,同样的poi 版本在其他项目能够正常下载打开,最后发现问题 出现在 HttpServletResponse 上, ...
- 超过65536行的数据导入Vfp9、导出至Excel
一.VFP9(Microsoft Visual FoxPro9)支持的excel版本简介 通过VFP9 软件的导入.导出窗口可以看到,该软件最多支持到Microsoft Excel 5.0;换言之,V ...
- 解决 Java poi 3.8 等版本 操作 word 插入 图片 不成功的问题
解决 Java poi 3.8等版本操作word插入图片不成功的问题 问题: 最近有一个需求是将Excel中的数据转换到word中,其中包括了文字和图片, 在使用 poi 3.8 向word中写入图片 ...
- java poi 导出中利用sum函数实现合计功能
java poi 导出中利用sum函数实现合计功能 之前也写过导出功能但是没有写过合计.所以记录下来当做笔记. for(int i = 0; i < arrSize; i++) {JSONObj ...
- python xlwt写入excel_python xlwt模块写入excel超过65536行报错问题解决方法
上篇文章中将内容写到excel中使用import xlwt包,后来发现文件写入超过65536行的时候就会报错,无法转换成功, xls后缀文件,只支持这么多行,在网上搜索一下,解决方法可以写多个shee ...
- python将txt文件转为excel格式以及写入excel超过65536行报错问题解决方法
参考链接: https://blog.csdn.net/levy_cui/article/details/82252183 https://blog.csdn.net/levy_cui/article ...
- python创建表格怎么只能65536_python写入excel超过65536行报错问题解决方法
接此篇文章:python将txt文件转为excel格式 上篇文章中将内容写到excel中使用import xlwt包,后来发现文件写入超过65536行的时候就会报错,无法转换成功, xls后缀文件,只 ...
最新文章
- test markdown
- admin及admin888 经过 md5加密后16位和32位代码
- 上周热点回顾(12.18-12.24)
- Learning React Native笔记
- 整理Java相关的工具类Utils,持续更新中,建议收藏【目前更新至24】
- iOS之深入解析通知NSNotification的底层原理
- SpringOne Platform 2016回顾
- IllegalStateException: No WebApplicationContext found: no Co
- 1.Could not load the Tomcat server configuration at /Servers/Tomcat v7.0 Server(tomcat突然用不了)...
- 将任何变量的值进行二进制输出的方法
- Java企业级实战项目《瑞吉外卖》
- 把网络图片URL转化为流
- allatori8.0文档翻译-第十四步:Eclipse IDE插件
- qpython 3h_QPython 3H
- 电脑蓝牙突然无法使用,解决办法来了
- Studio One5编曲和音频后期制作音乐编辑软件更新及新增功能介绍
- LXR( Linux超文本交叉代码检索工具)
- RTL8821CS移植过程记录
- 霍尔FOC转子位置估计算法
- java定义属性错误_java – 注释类型的属性值未定义为“MediaT...