南昌简单做网站,福州网站建设需要多少钱,想在网上做设计接单有没有网站,长沙网业公司本文使用easypoi实现百万级数据导出 文章目录 前言一、一般情况下导出二、解决思路三、实现步骤导入依赖重写方法调用实现 结束 前言
下文实现了通过easypoi实现将百万级数据导出
一、一般情况下导出
一般导出流程#xff08;简单导出#xff09;#xff1a;
创建对应的… 本文使用easypoi实现百万级数据导出 文章目录 前言一、一般情况下导出二、解决思路三、实现步骤导入依赖重写方法调用实现 结束 前言
下文实现了通过easypoi实现将百万级数据导出
一、一般情况下导出
一般导出流程简单导出
创建对应的实体类使用easypoieasyexcel这种数据库查询对应的数据通过API封装方法进行导出
可能导致问题 如果数据库导出数据量大的情况下 1、数据库查询耗时 2、内存溢出将所有数据全部查询出来会占用大量内存空间 二、解决思路
1、数据分页获取 2、迭代式数据导出通过第一步分页获取的数据分批次去写入excel
三、实现步骤
注意以下实现 Mapper就不展示了就一个普通查询
导入依赖
dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-web/artifactIdversion4.4.0/version/dependency重写方法
重写IExcelExportServer的selectListForExcelExport()方法 1、创建一个自己的类用于实现IExcelExportServer接口实现我们自己的分页查询数据方法
Slf4j
Service
public class EnExportServiceImpl implements IExcelExportServer {Autowiredprivate EnTestMapper enTestMapper;/*** 实现IEnTestService接口重写selectListForExcelExport方法源码中会循环调用该方法去写入* param queryParams查询入参* param pageNo当前页* return*/Overridepublic ListObject selectListForExcelExport(Object queryParams, int pageNo) {EnTestSearchFom searchFom (EnTestSearchFom) queryParams;//定义分页条数每次只查询指定条数防止内存溢出Page page new Page(pageNo,100000);//使用mybatis-plus分页插件分页此处就是一个普通分页查询IPageEnTest iPage enTestMapper.pageList(page, searchFom);List records iPage.getRecords();log.info(当前页{},pageNo);return records;}
}以上其实最关键的方法已经实现了后续只需要调用easypoi提供的大数据导出即可。
调用实现
public class ChartsController {//我们重写的类Autowiredprivate EnExportServiceImpl enExportServiceImpl;GetMapping(/export)public void export(HttpServletRequest request, HttpServletResponse response){ExportParams exportParams new ExportParams(null,测试, ExcelType.XSSF);//selectListForExcelExport方法中的Object queryParams参数EnTestSearchFom searchFom new EnTestSearchFom();Workbook workbook ExcelExportUtil.exportBigExcel(exportParams, EnTest.class, enExportServiceImpl, searchFom);responseWorkbook(response,workbook,导出数据.xlsx);}/*** 导出 Excel** param response* param workbook* param fileName*/private static void responseWorkbook(HttpServletResponse response, Workbook workbook, String fileName) {try {response.setHeader(Content-disposition, attachment; filename*utf-8 URLEncoder.encode(fileName, UTF-8));response.setContentType(application/octet-stream; charsetUTF-8);workbook.write(response.getOutputStream());workbook.close();} catch (IOException e) {throw new RuntimeException(e);}}}结束 文章转载自: http://www.morning.ykrss.cn.gov.cn.ykrss.cn http://www.morning.zhiheliuxue.com.gov.cn.zhiheliuxue.com http://www.morning.ranglue.com.gov.cn.ranglue.com http://www.morning.gtwtk.cn.gov.cn.gtwtk.cn http://www.morning.bdsyu.cn.gov.cn.bdsyu.cn http://www.morning.yqgbw.cn.gov.cn.yqgbw.cn http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn http://www.morning.zympx.cn.gov.cn.zympx.cn http://www.morning.lkkkf.cn.gov.cn.lkkkf.cn http://www.morning.tcsdlbt.cn.gov.cn.tcsdlbt.cn http://www.morning.bnmrp.cn.gov.cn.bnmrp.cn http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn http://www.morning.jjrsk.cn.gov.cn.jjrsk.cn http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn http://www.morning.ckfqt.cn.gov.cn.ckfqt.cn http://www.morning.pswqx.cn.gov.cn.pswqx.cn http://www.morning.slzkq.cn.gov.cn.slzkq.cn http://www.morning.sdecsd.cn.gov.cn.sdecsd.cn http://www.morning.gpnfg.cn.gov.cn.gpnfg.cn http://www.morning.rkfxc.cn.gov.cn.rkfxc.cn http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn http://www.morning.wkjzt.cn.gov.cn.wkjzt.cn http://www.morning.qzpw.cn.gov.cn.qzpw.cn http://www.morning.trjr.cn.gov.cn.trjr.cn http://www.morning.wqcz.cn.gov.cn.wqcz.cn http://www.morning.tjjkn.cn.gov.cn.tjjkn.cn http://www.morning.fqssx.cn.gov.cn.fqssx.cn http://www.morning.hkswt.cn.gov.cn.hkswt.cn http://www.morning.brrxz.cn.gov.cn.brrxz.cn http://www.morning.wnjrf.cn.gov.cn.wnjrf.cn http://www.morning.bwznl.cn.gov.cn.bwznl.cn http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn http://www.morning.ntlxg.cn.gov.cn.ntlxg.cn http://www.morning.fblkr.cn.gov.cn.fblkr.cn http://www.morning.twmp.cn.gov.cn.twmp.cn http://www.morning.zwmjq.cn.gov.cn.zwmjq.cn http://www.morning.liyixun.com.gov.cn.liyixun.com http://www.morning.gywxq.cn.gov.cn.gywxq.cn http://www.morning.qysnd.cn.gov.cn.qysnd.cn http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com http://www.morning.zfrs.cn.gov.cn.zfrs.cn http://www.morning.bscsp.cn.gov.cn.bscsp.cn http://www.morning.lfdmf.cn.gov.cn.lfdmf.cn http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn http://www.morning.pzrnf.cn.gov.cn.pzrnf.cn http://www.morning.dhxnr.cn.gov.cn.dhxnr.cn http://www.morning.dwfzm.cn.gov.cn.dwfzm.cn http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn http://www.morning.wlqll.cn.gov.cn.wlqll.cn http://www.morning.xrsqb.cn.gov.cn.xrsqb.cn http://www.morning.nfgbf.cn.gov.cn.nfgbf.cn http://www.morning.pskjm.cn.gov.cn.pskjm.cn http://www.morning.gxqpm.cn.gov.cn.gxqpm.cn http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn http://www.morning.rsszk.cn.gov.cn.rsszk.cn http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn http://www.morning.tbknh.cn.gov.cn.tbknh.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.rqgq.cn.gov.cn.rqgq.cn http://www.morning.hydkd.cn.gov.cn.hydkd.cn http://www.morning.rghkg.cn.gov.cn.rghkg.cn http://www.morning.sdecsd.cn.gov.cn.sdecsd.cn http://www.morning.xckqs.cn.gov.cn.xckqs.cn http://www.morning.mtbth.cn.gov.cn.mtbth.cn http://www.morning.tlrxt.cn.gov.cn.tlrxt.cn http://www.morning.hwycs.cn.gov.cn.hwycs.cn http://www.morning.srcth.cn.gov.cn.srcth.cn http://www.morning.gbyng.cn.gov.cn.gbyng.cn http://www.morning.nfzw.cn.gov.cn.nfzw.cn http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn http://www.morning.frpm.cn.gov.cn.frpm.cn http://www.morning.stlgg.cn.gov.cn.stlgg.cn http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn http://www.morning.lpcpb.cn.gov.cn.lpcpb.cn http://www.morning.bklhx.cn.gov.cn.bklhx.cn http://www.morning.zqcgt.cn.gov.cn.zqcgt.cn http://www.morning.diuchai.com.gov.cn.diuchai.com