首页 > 其他分享 >easypoi 4.2.0 大数据导出

easypoi 4.2.0 大数据导出

时间:2022-12-20 12:23:40浏览次数:30  
标签:return 4.2 list 导出 param easypoi page

 

 

excel 导出大数据

pom 文件

   <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.2.0</version>
        </dependency>
<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-web</artifactId> <version>4.2.0</version> </dependency>
<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId> <version>4.2.0</version> </dependency>

 

 

 

2 实体

 

 

 

 

 

 

 

 

2 service 

看了半天的网上示例,迷迷糊糊的,自己用了才知道,并没有那么玄乎。

 @Override

public void downLoadList(Map<String, Object> param, HttpServletResponse response) {
    //param 这里是我的入参  可以替换你自己的入参
    String exportName ="券领取记录";
ExportParams exportParams = new ExportParams(exportName,exportName, ExcelType.XSSF); //总页数 可替换 int totalPage = BigDecimal.valueOf(Integer.parseInt(param.get("page_size").toString())).divide(BigDecimal.valueOf(1000), 0, BigDecimal.ROUND_UP).intValue(); //每页的条数 可替换 int pageSize = 1000; Workbook workbook = null; workbook = ExcelExportUtil.exportBigExcel(exportParams, WebMemberCouponExcelDTO.class, new IExcelExportServer() { @Override public List<Object> selectListForExcelExport(Object obj, int page) { //这里page默认是1 if (page>totalPage){ return null; } List<Object> list = new ArrayList<>(); //我这里的分页只是我这边需求是这样的 可以替换 param.put("page_num",String.valueOf(page)); param.put("page_size",String.valueOf(pageSize)); //可以抽出一个方法,返回的list 集合,入参由你的方法入参替换 getList是我的一次返回数据 if (CollectionUtils.isEmpty(getList(param))){ return null; } list.addAll(getList(param)); //页数增加 page++; return list; } }, totalPage); ExcelUtils.downLoadExcel("das.xlsx",response, workbook); }

private List<WebMemberCouponExcelDTO> getList(Map<String, Object> param) {
  //这里是你的查询数据返回 入
//这里是一次分页查询的数据
例如 第一页 10条 返回的10条数据
return webMemberCouponExcelDTOS;
}
 

 

他的内部类进行循环

 

 

 

 

所以说,当我们使用

 

ExcelExportUtil.exportBigExcel 这个方法的时候,只要控制好 每次循环的分页变化就行,他就会 循环处理我们内部类的逻辑。

 

 

其实很简单的。

 

标签:return,4.2,list,导出,param,easypoi,page
From: https://www.cnblogs.com/zq1003/p/16993902.html

相关文章

  • 使用 expdp导入导出oracle 数据库
    expdp用户名/密码@afspdbTABLES=table1dumpfile=/yfq/expdp_a11.dmp(1)执行之后报错了;expdp TNScouldnotresolvetheconnectidentifierspecified查了下是......
  • 基于现有工具类ExcelUtil可以实现导入导出功能
    基于现有工具类可以实现导入导出功能:ExcelUtil<SsupEnterpriseEx>util=newExcelUtil<SsupEnterpriseEx>(SsupEnterpriseEx.class);导入功能:1.下载模板......
  • DataGrip导出数据库sql文件
    选中一个数据库中指定数据表,然后单击右键,选择Exportwithmysqldump如果显示如图所示错误(路径不存在),则在终端里输入whichmysqldump,然后去替代默认路径即可。......
  • 导出sqlserver数据库中的登录用户和密码信息(2)
    sp_hexadecimal和sp_help_revlogin脚本的版本有点老,有人做了更新,因此记录一下。 相关连接:导出sqlserver数据库中的登录用户和密码信息-abce-博客园(cnblogs.com)......
  • Azure脚本分享,批量导出用户MFA状态
    一年时间又快过去了,又攒了一些内容可以拿出来分享,希望能帮到有需要的人,先从一些比较简单的开始吧,最近有个需求是想看到用户是不是都设置了MFA,设置了MFA代表相对来说比较安全......
  • 使用SELECT ... INTO OUTFILE导出mysql数据
    select...intooutfile语法是mysql提供的一种数据导出的方案,支持自定义导出数据格式。例如:将test表的所有数据全部导出到test.txt文件。select*fromtestintooutfi......
  • Magento导出所有分类ID和名称到数组中
    ​​//获取所有激活状态的分类模型集合​​​​$categories​​​​=Mage::getModel(​​​​'catalog/category'​​​​)->ge......
  • 线上导出csv出现失败-网路错误
    一次,在线上后台导出了比平时多几倍的数据,发现导出了部分之后停止了,出现失败-网络错误的提示:导出的核心代码是这样的set_time_limit(0);ini_set('memory_limit','2......
  • pipreqs导出包依赖
    pipfreeze>requirements.txt会将环境中的所有包依赖都导出,即使没有importpipreqspath只导出path目录下import的包依赖,文件名默认为requirements.txt如果已......
  • VS2022生成控制台引用程序,.net应用导出成exe文件,发部成独立文件的详细图解
     使用vs自带的发布功能就行右键选择发布  选择文件夹模式进行操作   继续选择文件夹操作  路径自己设置,不要怕忘记了,外面可以直接点路劲找到文件夹 ......