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

CompletableFuture实现Excel sheet页导出

CompletableFuture实现Excel sheet页导出

文章目录

  • CompletableFuture实现Excel sheet页导出
      • 为什么不能直接合并文件或Sheet?
      • 我的方案合理性
    • 1. 操作实现步骤
      • 1.1、导入所需要的依赖
      • 1.2 、Excel 导入导出对象
      • 1.3、异步生成 Excel 文件到指定路径
      • 1.4、合并多个 Excel 文件的 Sheet(保留样式)
      • 1.5、Excel 导出接口

最近在做多数据导出的时候,需要将数据导出在不同的数据sheet页中,苦于没有第三方工具包那能直接处理,于是就自己手写了一个
注意:我查一系列的操作excel的官网发现EasyExcel、JExcelApi、apachePoi等也没有“直接合并文件”API。
哪怕是 Apache POI 提供的 Workbook.cloneSheet() 复制当前工作簿内部的 Sheet,但不能跨文件复制。

必须通过代码遍历 Sheet、Row、Cell,把内容和样式挨个复制,才算是“合并”。

为什么不能直接合并文件或Sheet?

  • Excel 文件不是简单的文本或数据文件,是一个 ZIP 压缩的多部分复合结构。
  • 每个 Sheet、样式、字体、图片等都有自己独立的 XML 文件和关系映射。
  • 直接“拼接”文件会导致结构错乱,打不开或出错。
  • 需要按POI的数据模型逐一复制内容和样式。

我的方案合理性

  • 我目前用 copySheet 按行复制,是最标准、最稳定的做法。
  • 也可以尝试扩展,比如复制合并单元格、列宽、数据验证、图片等(需要额外代码),让合并更完
http://www.dtcms.com/a/324104.html

相关文章:

  • 产品经理入门 - 产品解决方案(需求分析、 功能优先级划分、功能价值、用户体验)
  • RabbitMQ面试精讲 Day 19:网络调优与连接池管理
  • NLP---IF-IDF案例分析
  • AI编程插件对比分析:CodeRider、GitHub Copilot及其他
  • 构建企业级Odoo 18 WMS——功能、架构与拓展蓝图
  • 宝塔面板部署sentinel
  • 【传奇开心果系列】基于Flet框架开发的增强版“Hello World“应用程序学习flet框架的拔高起点
  • 【后端】Java 8 特性 `User::getId` 语法(方法引用)介绍
  • Linux常用命令(后端开发版)
  • SQL(结构化查询语言)的四大核心分类
  • 【后端】Java 8 特性 Optional 可选类 介绍
  • Oracle 19C 查看卡慢的解决思路
  • Spring Boot整合knife4j实战
  • iceberg安装部署
  • imx6ull支持4G模块
  • C++高频知识点(十八)
  • 生产环境中Spring Cloud Sleuth与Zipkin分布式链路追踪实战经验分享
  • 咪咕MGV3200-KLH_GK6323V100C_板号E503744_安卓9_短接强刷包-可救砖
  • uni-app 网络请求终极选型:uni.request、axios、uni-network、alova 谁才是你的真命请求库?
  • CD64.【C++ Dev】多态(3): 反汇编剖析单继承下的虚函数表
  • CPP继承
  • Qt—— 下载、工具介绍以及新建项目
  • 机器学习 [白板推导](八)[EM算法]
  • 机器学习-----K-means算法介绍
  • 打靶日常-XSS(反射型和存储型)
  • UE材质World Position 和 Object Position
  • 第十章:发布与展望 —— 让你的作品在 Edge 中闪耀
  • 力扣(买卖股票的最佳时机I/II)
  • 苍穹外卖-Day1 | 环境搭建、nginx、git、令牌、登录加密、接口文档、Swagger
  • 九、Linux Shell脚本:运算符与表达式