多线程导出生成多 Sheet 的 Excel

这是一个导出系统日志到 Excel 的接口实现,主要功能是查询系统日志数据并分多线程处理后,生成多 Sheet 的 Excel 文件供前端下载。

  • 核心流程:
    接收前端请求参数,构建查询条件(QueryWrapper)。
    根据总记录数计算分页(每页 5000 条),使用线程池并行查询各页数据。
    对查询到的日志类型进行字典转换(将编码转为文本)。
    多线程处理完成后,创建 Excel 工作簿,按分页生成多个 Sheet,写入日志数据。
    设置响应头,将 Excel 文件通过输出流返回给前端。
  • 技术点:
    多线程:ExecutorService 线程池并行查询分页数据,CountDownLatch 等待所有线程完成。
    Excel 操作:使用 POI 的 XSSFWorkbook 生成 .xlsx 格式文件,自定义单元格样式(字体、对齐方式等)。
    Web 响应:设置 content-type 为 Excel 格式,处理文件名编码,通过 ServletOutputStream 输出文件。

    public static final String 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值