EasyPoi导出问题
导出代码如下:
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), PriceExcelModel.class, priceExcelModelList);
File file = FileUtil.createFile(PROCEED_DATA_SOURCE_PATH);
workbook.write(new FileOutputStream(file));
workbook.close();
当数据量超过65536时,导出结果为多个sheet,会产生不方便阅读的问题。
如果设置最大sheet行,代码如下:
ExportParams exportParams = new ExportParams();
exportParams.setMaxNum();
exportParams.setType(ExcelType.HSSF);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, PriceExcelModel.class, priceExcelModelList);
File file = FileUtil.createFile(PROCEED_DATA_SOURCE_PATH);
workbook.write(new FileOutputStream(file));
workbook.close();
会产生如下报错,如下代码报错:
ERROR 17:00:02 [org.jeecgframework.poi.excel.export.base.ExportBase:213] Invalid row number (65536) outside allowable range (0..65535)
java.lang.IllegalArgumentException: Invalid row number (65536) outside allowable range (0..65535)
at org.apache.poi.hssf.usermodel.HSSFRow.setRowNum(HSSFRow.java:252)
at org.apache.poi.hssf.usermodel.HSSFRow.<init>(HSSFRow.java:86)
at org.apache.poi.hssf.usermodel.HSSFRow.<init>(HSSFRow.java:70)
错误源为:
public void setRowNum(int rowIndex) {
int maxrow = SpreadsheetVersion.EXCEL97.getLastRowIndex();
if (rowIndex >= 0 && rowIndex <= maxrow) {
this.rowNum = rowIndex;
if (this.row != null) {
this.row.setRowNumber(rowIndex);
}
} else {
throw new IllegalArgumentException("Invalid row number (" + rowIndex + ") outside allowable range (0.." + maxrow + ")");
}
}
后来明白了,HSSF最大sheet导出行为65536行,超出后会自动分为多个sheet。
需要导出大量数据到同一个sheet的话,可以通过配置导出类型,代码如下:
ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF);
这样就可以成功导出了。
EasyPoi导出问题的更多相关文章
- 关于EasyPoi导出Excel
如果你觉得Easypoi不好用,喜欢用传统的poi,可以参考我的这篇博客:Springmvc导出Excel(maven) 当然了,万变不离其宗.Easypoi的底层原理还是poi.正如MyBatis ...
- 使用easypoi导出excel
EasyPOI是在jeecg的poi模块基础上,继续开发独立出来的,可以说是2.0版本,EasyPoi封装的目的和jeecg一致,争取让大家write less do more ,在这个思路上easy ...
- easypoi导出单个sheet和多个sheet
今天有时间研究了一下easypoi,感觉使用了easypoi导出excel方便了很多,不用写很多复杂的反射,只需要使用注解和一些工具类就可以实现常用的excel的导出,接下来介绍一下easypoi如何 ...
- SpringBoot使用Easypoi导出excel示例
SpringBoot使用Easypoi导出excel示例 https://blog.csdn.net/justry_deng/article/details/84842111
- EasyPoi导出Excel
这几天一直在忙工作中的事情,在工作中有一个问题,可能是因为刚开始接触这个EasyPoi,对其也没有太多的理解,在项目中就使用了,有一个需求,是要导出项目中所有的表格,今天就对这个需求进行分析和实现吧; ...
- easypoi导出动态表头excel
easypoi导出动态表头excel 1: springBoot项目maven依赖: <dependency> <groupId>cn.afterturn</groupI ...
- 使用EasyPOI导出excel示例
package com.mtoliv.sps.controller; import java.io.IOException; import java.io.OutputStream; import j ...
- easyPOI导出excel报错
http-nio--exec- at :: - excel cell export error ,data is :com.jn.ssr.superrescue.web.qc.dto.Automati ...
- Vue+EasyPOI导出Excel(带图片)
一.前言 平时的工作中,Excel 导入导出功能是非常常见的功能,无论是前端 Vue (js-xlsx) 还是 后端 Java (POI),如果让大家手动编码实现的话,恐怕就很麻烦了,尤其是一些定制化 ...
随机推荐
- 一个利用 Parallel.For 并行处理任务,带有进度条(ProgressBar)的 WinForm 实例(下)
接着上一篇:一个利用 Parallel.For 并行处理任务,带有进度条(ProgressBar)的 WinForm 实例(上) 直接贴代码了: using System; using System. ...
- Java匹马行天下之学编程的起点——走进编程的殿堂
学编程的起点——走进编程的殿堂 前言: 知其然,知其所以然,努力固然重要,但是思维的提升会让你事半功倍,我会用我花费时间换来的“思维”带更多的朋友入门,让你们明明白白学编程,学编程,不迷茫. 转变思维 ...
- Quartz.net任务调度
一.Quartz.net简介 Quartz.net是一个开源的任务调度框架,很多定时任务.调度任务都可以用这个框架,如定时日志等. 二.Quartz.net用途 定时给女朋友发送消息 女朋友生日的时候 ...
- ADFS登录界面自定义
最近在做identityServer3+ADFS 实现域账号第三方授权验证,发现一个问题,在我们网站跳转到域账户登录页面,这个页面有点不美观,那么我们改如何自定义这个登录界面呢? ADFS安装配置这里 ...
- laravel 163发送邮件
配置163邮箱账户 首先需要有163邮箱,这里在163邮箱必须在设置里面开启SMTP服务,并设置密码 修改laravel根目录下的.env文件, 设置邮箱相关内容: MAIL_DRIVER=smtp ...
- Spring Data Jpa:分页、Specification、Criteria
分页的主要接口与类 PagingAndSortingRepository 继承自 CrudRepository 接口,提供了排序以及分页查询能力,提供了两个方法 Iterable<T> f ...
- CSS3制作文字背景图
文字带上渐变色,或者说让文字透出图片.这些效果 CSS 属性也可以完成. 方法一.利用CSS3属性mix-blend-mode:lighten;实现 使用 mix-blend-mode 能够轻易实现, ...
- 高性能TcpServer(C#) - 5.客户端管理
高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...
- 汇编指令之ADC、SBB、XCHG、MOVS指令
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-08-25,23:52:49作者By-----溺心与沉浮----博客园 介绍完这些基础指令,后面就讲到汇编JCC指令了,我觉得介 ...
- 基于记忆性的中值滤波O(r)与O(1)复杂度的算法实现
本文参考博客:https://www.cnblogs.com/Imageshop/archive/2013/04/26/3045672.html 原生的中值滤波是基于排序算法的,这样的算法复杂度基本在 ...