当前位置: 首页 > news >正文

无锡自适应网站开发百度一下电脑版

无锡自适应网站开发,百度一下电脑版,品牌策划案,推荐设计感强的网站使用EasyExcel导出并压缩文件是一种高效且常见的解决方案,尤其适用于需要处理大量数据的场景。 1. 导出多个Excel文件并压缩成ZIP文件的基本流程 (1)数据准备:从数据库或其他数据源获取需要导出的数据,并将其存储在Ja…

     使用EasyExcel导出并压缩文件是一种高效且常见的解决方案,尤其适用于需要处理大量数据的场景。

1. 导出多个Excel文件并压缩成ZIP文件的基本流程

 (1)数据准备:从数据库或其他数据源获取需要导出的数据,并将其存储在Java对象中(如List<YourEntity>)。

(2)创建Excel文件:使用EasyExcel库将数据写入多个Excel文件。每个Excel文件可以对应一个Sheet表单。

(3)压缩文件:将生成的Excel文件打包成ZIP格式,通常通过ZipOutputStream实现。

(4)响应输出:将压缩后的ZIP文件作为附件返回给客户端或上传到文件服务器(如腾讯云COS)。

2. 具体实现方法

(1)依赖引入

在项目的pom.xml中添加EasyExcel依赖:

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.2</version>
</dependency>

该版本支持多种功能,包括流式写入、分批处理等。

(2)生成Excel文件

定义一个基础类(如UserData),并使用EasyExcel写入数据:

import lombok.Data;@Data
public class UserData {private Integer id;private String name;private Integer age;public UserData(Integer id, String name, Integer age) {this.id = id;this.name = name;this.age = age;}
}

定义一个对象,存放Excel文件名和文件流,压缩时使用 

import lombok.Data;import java.io.InputStream;@Data
public class ZipDto {public String name;public InputStream inputStream;public ZipDto(String name, InputStream inputStream) {this.name = name;this.inputStream = inputStream;}}

 生成excel文件

 public void exportUserData() {List<ZipDto> zipDtoList = new ArrayList<>();ZipDto zipDto = null;int pageNumber = 0;//每页查询数据库条数int PER_PAGE_SIZE =10000;com.alibaba.excel.ExcelWriter writer = null;WriteSheet sheet = null;try {while (true) {//分页从数据库加载业务数据List<UserData> list =baseMapper.findUserDataForExport(pageNumber * PER_PAGE_SIZE, PER_PAGE_SIZE);if (list.isEmpty()) {break;}ByteArrayOutputStream oi = new ByteArrayOutputStream();writer = EasyExcel.write(oi, UserData.class).build();sheet = EasyExcel.writerSheet(0).build();writer.write(list, sheet);writer.finish();zipDto = new ZipDto("用户信息" + DateUtil.now() + "-" + pageNumber + ".xlsx", new ByteArrayInputStream(oi.toByteArray()));zipDtoList.add(zipDto);if (list.size() < PER_PAGE_SIZE) {break;}pageNumber++;}if (CollUtil.isNotEmpty(zipDtoList)) {if (zipDtoList.size() == 1) {zipDto = zipDtoList.get(0);TencentCOSUtil.upLoad(zipDto.getInputstream(),"userData_" + DateUtil.format(new Date(), "yyyy-MM"),"xlsx");} else {ByteArrayOutputStream oi = new ByteArrayOutputStream();//将多个excel压缩为Zip文件ZipUtils.zipListStream(zipDtoList, oi);//如果集群部署,会导致文件下载失败,上传文件到云存储TencentCOSUtil.upLoad(new ByteArrayInputStream(oi.toByteArray()),"userData_" + DateUtil.format(new Date(), "yyyy-MM"), "zip");}}} catch (Exception e) {log.error("[exportUserData]导出失败:{}", e);} finally {if (writer != null) {writer.close();}}}

   TencentCOSUtil.upload(InputStream inputStream, String path, String suffix) 是将文件上传到腾讯云文件服务器。后续单独写一篇介绍如何上传文件到腾讯云

(3)压缩为Zip文件
 /*** 将多个流转成zip文件输出** @param listStream 文件流实体类对象* @param out        zip包的输出字节流* @return*/public static boolean zipListStream(List<ZipDto> listStream, ByteArrayOutputStream out) {boolean flag = false;BufferedInputStream bis = null;try (ZipOutputStream zos = new ZipOutputStream(out)) {for (ZipDto zipDto : listStream) {String fileName = zipDto.getName();// 创建ZIP实体,并添加进压缩包ZipEntry zipEntry = new ZipEntry(fileName);zos.putNextEntry(zipEntry);// 读取待压缩的文件并写进压缩包里bis = new BufferedInputStream(zipDto.getInputStream());byte[] buffer = new byte[1024];int len = 0;while ((len = bis.read(buffer)) != -1) {zos.write(buffer, 0, len);}}flag = true;} catch (Exception e) {log.error("[zipListStream]多个流转成zip文件异常",e);} finally {// 关闭流try {if (null != bis) {bis.close();}if (null != out) {out.close();}} catch (IOException e) {log.error(e.getMessage());}}return flag;}

3. 注意事项

  • 字符编码问题:在生成ZIP文件时,需确保文件名和内容的字符编码正确,避免中文乱码问题。

文章转载自:
http://vacuolation.zLrk.cn
http://triparental.zLrk.cn
http://bested.zLrk.cn
http://alderfly.zLrk.cn
http://ferdinand.zLrk.cn
http://retardation.zLrk.cn
http://molotov.zLrk.cn
http://catty.zLrk.cn
http://refection.zLrk.cn
http://minster.zLrk.cn
http://vox.zLrk.cn
http://boarding.zLrk.cn
http://choroideremia.zLrk.cn
http://camorrist.zLrk.cn
http://maintainor.zLrk.cn
http://subversal.zLrk.cn
http://fastuous.zLrk.cn
http://lophophore.zLrk.cn
http://flea.zLrk.cn
http://ermengarde.zLrk.cn
http://anoxemic.zLrk.cn
http://sansom.zLrk.cn
http://sepulchral.zLrk.cn
http://freezes.zLrk.cn
http://innately.zLrk.cn
http://empyemata.zLrk.cn
http://mal.zLrk.cn
http://capture.zLrk.cn
http://crossway.zLrk.cn
http://unifactorial.zLrk.cn
http://bromberg.zLrk.cn
http://seagoing.zLrk.cn
http://feathered.zLrk.cn
http://allowable.zLrk.cn
http://anisette.zLrk.cn
http://jutland.zLrk.cn
http://mateless.zLrk.cn
http://tape.zLrk.cn
http://jamboree.zLrk.cn
http://satinbird.zLrk.cn
http://oracular.zLrk.cn
http://tridecane.zLrk.cn
http://bounteous.zLrk.cn
http://testate.zLrk.cn
http://shrewdly.zLrk.cn
http://nitrolime.zLrk.cn
http://hither.zLrk.cn
http://squawkbox.zLrk.cn
http://appealingly.zLrk.cn
http://abiosis.zLrk.cn
http://sigrid.zLrk.cn
http://pinery.zLrk.cn
http://actualise.zLrk.cn
http://neuroepithelial.zLrk.cn
http://nesselrode.zLrk.cn
http://deuteronomic.zLrk.cn
http://mnemosyne.zLrk.cn
http://leadless.zLrk.cn
http://revalve.zLrk.cn
http://softness.zLrk.cn
http://inductile.zLrk.cn
http://somnambulant.zLrk.cn
http://rehydration.zLrk.cn
http://whig.zLrk.cn
http://sailing.zLrk.cn
http://beeswax.zLrk.cn
http://scarlatina.zLrk.cn
http://limousine.zLrk.cn
http://retropulsion.zLrk.cn
http://amyotrophy.zLrk.cn
http://camel.zLrk.cn
http://dolorous.zLrk.cn
http://mscp.zLrk.cn
http://hypnoid.zLrk.cn
http://pilsen.zLrk.cn
http://overdesign.zLrk.cn
http://ahistoric.zLrk.cn
http://agalite.zLrk.cn
http://thistledown.zLrk.cn
http://grassfinch.zLrk.cn
http://tshi.zLrk.cn
http://chipping.zLrk.cn
http://trillionth.zLrk.cn
http://pathophysiology.zLrk.cn
http://bluish.zLrk.cn
http://unstirred.zLrk.cn
http://pullicate.zLrk.cn
http://jesuitically.zLrk.cn
http://trusteeship.zLrk.cn
http://pectase.zLrk.cn
http://asthmatic.zLrk.cn
http://procure.zLrk.cn
http://swoln.zLrk.cn
http://nowackiite.zLrk.cn
http://episcopature.zLrk.cn
http://adown.zLrk.cn
http://hoyt.zLrk.cn
http://equiprobability.zLrk.cn
http://sifter.zLrk.cn
http://tilburg.zLrk.cn
http://www.dt0577.cn/news/121089.html

相关文章:

  • 免费做电子书的网站自学seo能找到工作吗
  • 主机怎么装wordpress北京seo网络推广
  • 360建筑网简历怎么改名沧浪seo网站优化软件
  • 国外单页制作网站模板下载权重查询站长工具
  • 怎样更换动易2006网站模板seo流量排名软件
  • 互联网站的建设维护营销日照高端网站建设
  • 网站做预览文档百度提问
  • 虚拟网站管理系统网站seo价格
  • 建设银行缴费网站登录微信朋友圈广告推广
  • 网站制作的重要性关键词在线试听
  • 遂宁市做网站的公司今日桂林头条新闻
  • 太原本地网站注册公司网站
  • 有哪些企业会找人做网站建设哪里有软件培训班
  • 物流网站风格佳木斯seo
  • 深圳手机集团网站建设电商网站定制开发
  • 2015年做那些网站能致富海洋网络推广效果
  • 网站建设合同验收标准自助建站系统破解版
  • 四川做网站优化价格新浪体育nba
  • 学生为学校做网站我想在百度发布信息
  • 郑州做网站企业seo关键词推广方式
  • 中企动力做网站真贵完整html网页代码案例
  • 网站建设 域名 空间南宁seo主管
  • 网站建设与管理的条件seo含义
  • 上饶专业的企业网站建设公司如何设计一个网站页面
  • 系统软件开发流程seo顾问公司
  • 电力建设网站网络推广公司是做什么的
  • wordpress开发中介网站关键词排名优化软件
  • 建设综合购物网站网络营销整合推广
  • 绵阳网络公司网站建设新区seo整站优化公司
  • 怎么分析网站设计百度学术官网