首页 > 其他分享 >EasyExcel导出多个文件并直接打包成zip下载

EasyExcel导出多个文件并直接打包成zip下载

时间:2022-10-20 18:11:05浏览次数:84  
标签:zip EasyExcel 导出 zos build byteArrayOutputStream new

EasyExcel导出多个文件并直接打包成zip下载

String zipName = "xxx.zip";
 try {
     response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(zipName, "UTF-8"));
     response.setContentType("application/vnd.ms-excel");
     
     // 准备zip输出流
     ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
     ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
     
     // 循环导出多个xlsx文件
     for (...) {
         
         // 准备zip对象
         ZipEntry entry = new ZipEntry("*文件名*" + ".xlsx");
         zos.putNextEntry(entry);
         
         // 准备填充模板的对象
         ExcelWriter build = EasyExcel.write(byteArrayOutputStream)
             .withTemplate(new ClassPathResource("*模板路径*").getInputStream()).build();
         
         // 修改换行规则为每填充一行后插入一个空行
         FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
         
         WriteSheet sheet0 = EasyExcel.writerSheet(0).build();
         build.fill("*数据集合1*", sheet0);
         build.fill("*数据集合2*", fillConfig, sheet0);
         ...
         
         // 单个文件完成
         build.finish();
         
         // 添加到zip输出流中
         zos.write(byteArrayOutputStream.toByteArray());
         byteArrayOutputStream.reset();
     }
     zos.flush();
     zos.close();
 } catch (Exception e) {
     e.printStackTrace();
 }

yoojyn - 博客园

标签:zip,EasyExcel,导出,zos,build,byteArrayOutputStream,new
From: https://www.cnblogs.com/yoojyn/p/yoojyn_easyexcel02.html

相关文章

  • 导出数据
    导出表格voidexport(){//先从缓存拿数据//Objectcommodity=redisUtil.get(String.format(RedisKeyConstant.PRODUCT_INFO,"202112150256","*"));......
  • Vue前端的 Excel 导入和导出功能
    Excel解析为JSON基本内容组件效果和结构组件内容是很简单的结构和视图,直接查看如下的页面效果和代码即可:  <template><inputtype="file"ref="exc......
  • 一键在Web端把CAD图自动分割成多张图纸并导出子图或图片
    前言​ 在实际中,一个CAD文件中往往存放多张图纸,有时需要这些图纸分开,单独保存或显示。以往的做法是在cad中人工进行处理。今天小编教您在web端一键把CAD图自动分割成多张......
  • #打卡不停更#【ELT.ZIP】啃论文俱乐部——统计压缩编码机理分析
    本文出自ELT.ZIP团队,ELT<=>Elite(精英),.ZIP为压缩格式,ELT.ZIP即压缩精英。成员:上海工程技术大学大三学生合肥师范学院大三学生成都信息工程大学大二学生黑龙江大......
  • C#导出Excel超过65535条限制解决方案
     问题:导出Excel文档的时候只能导出65535条数据,超出部分无法导出也不会报错解决方案:创建多个sheet具体实现如下///<summary>///导出///</summary>......
  • 由unzip解压含有中文文件名变为Unicode代码问题引发的思考
    目录​​问题描述​​​​项目背景​​​​分析运行环境​​​​复现问题​​​​解决问题​​​​扩展阅读​​问题描述一个zip包,里面有文件名包含中文,解压出来发现变成了......
  • hive导出到mysql的报错情况
    1.java.lang.RuntimeException:Can'tparseinputdata:'119.131.143.179  这种报错大概率是你的hive数据库中有空格或者换行导致的,无法把数据导出到mysql中,网上搜......
  • SpringBoot(六) - 阿里巴巴的EasyExcel
    1、依赖<!--阿里EasyExcelstart--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.7</version></depe......
  • 原生js导出word、导出excel
    导出word文件导出部分HTML成word文件。注意:部分样式word不支持,图片需要设置width和height属性/***下载文件*@param{string}url文件地址*@param{string}f......
  • [答疑]EA怎样导出高清的图片
    凌(51***524)11:25:47请教一个问题:EA工具画图后,保存为图片,总是很模糊;怎么样保存出高清的图片呢?尘语<xnonym***q.com>11:49:03​​http://stackoverflow.com/questions/109......