首页 > 编程知识 正文

easyexcel导入校验,在线表格如何导出

时间:2023-05-05 05:24:33 阅读:54446 作者:3809

导出easyExcel大量数据1、官方网站介绍2、导出excel大量数据2.1部署2.2主要代码2.2.4控制器:2.2.4服务33602.2.3映射器:此处3、总结

一、官网介绍

二、导出excel海量数据2.1 dependencygroupidcom.Alibaba/groupidartifactideasyexcel/artifactidversion2.2. 10/version/从属2.2主要代码2.2.1控制器: publicvoidimportdata (@param ) (开始时间) (数据开始时间,@ param ) ) (结束时间) htpservletresponseresponse (throws exception (log.info ) (* * :开始时间- { }、结束时间- { }、开始时间、结束时间输出) //响应标头信息response.setheader (' content-disposition ',' attachment; filename=' ' user achive-'开始时间'-'结束时间'.xlsx '; response.setheader('pragma ',' No-cache ' ); response.setheader (' cache-control ',' no-cache ' ); response.set date header (' expires ',0 ); response.set content type (应用程序/vnd.ms-excel; charset=UTF-8 '; demo service.export handle (开始时间,结束时间,输出流); response.getOutputStream ().close ); }2.2.2service : publicvoidexporthandle (数据开始时间、数据结束时间、输出流输出流)//获取总数据量integer countream if(count100000 ) log.info )数量太多,无法导出!' ); if(count10000 ) { int max=10000; int countTotal=count/max 1; //需要伸出环路外。 否则,流excelwriterexcelwriter=easy excel.write (output stream ).build ); for(intI=0; I计数总体; I ) listusersocreexcelexportlist=usersocremapper.export points (I * max,max,开始时间,结束时间); writesheetwritesheet=easy excel.writer sheet (0,fileName ).head ) usersocreexcel.class ).registerwritehandler ) new log.info () * *导出列表: no : { } size : { },I,导出列表. size ) ); (//流excelWriter.finish ); } else { listusersocreexcelexportlist=usersocremapper.export points (null、null、开始时间、结束时间); log.info ((* *导出列表size : { } )、导出列表. size ); easy excel.write (输出流,UserSocreExcel.class ).registerwritehandler (newlongestmatchcolumnwidthstylestrategy ) } try { outputStream.flush (; }catch(ioexceptione ) log.error ) (**outputstream.flush ) (: ) e.getmessage ) ); }注意:您可以根据实际需要更改服务中的计数判断和最大值设置。

2.2.4映射器:此处省略2.2.4实体类。 @ datapublicclassusersocreexcel { @ excelignoreprivatelongid; @excelproperty(value='工号',index=0)私有字符串EMP代码; @excelproperty(value='名称',index=1) private String empName; @excelproperty(value='得分',index=2) private Long score; @excelproperty(value='创建时间',index=3)私有字符串创建时间; @excelproperty(value='更新时间',index=4)专用字符串更新时间; }请注意在注释中保证索引的顺序

三.总结到此,可以批量导出excel的大量数据。 总体思路是分批次采集,这里一次采集1万个数据,但根据情况不同,一次也可以采集10万个数据。

以上,仅供参考。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。