故事
首页
指南
  • Java
  • Python
  • Linux
  • Swift
  • Docker
  • 实践
  • 折腾
  • 分类
  • 标签
  • 归档
壁纸 (opens new window)
GitHub (opens new window)
首页
指南
  • Java
  • Python
  • Linux
  • Swift
  • Docker
  • 实践
  • 折腾
  • 分类
  • 标签
  • 归档
壁纸 (opens new window)
GitHub (opens new window)
  • Java基础

    • String类的深入学习
    • HashMap源码学习
    • Java8新特性回顾
  • Java框架

    • POI事件模式解析并读取Excel文件数据
    • SpringMVC的执行流程源码分析
    • netty+websocket实现即时通讯功能
    • 分布式定时任务解决方案xxl-job
    • spring-session实现集群session共享
    • springcloud优雅下线服务
    • Java日志发展历史
    • Mybatis Generator配置
    • JavaSPI机制和Springboot自动装配原理
    • Spring Cloud Config接入
    • 使用spring validation进行参数校验
    • dubbo接口超时配置
    • ConfigurationProperties注解
    • EasyExcel导出excel
      • 背景
      • 依赖
      • 导出多sheet
  • 中间件

    • 分布式锁解决方案
    • 关于消息中间件MQ
    • kafka学习记录
    • kakfa实践
    • kakfa重复消费问题处理
  • 数据库

    • MySql索引
    • SQL优化学习
  • 开发工具

    • Maven的生命周期
    • nexus无法下载依赖的问题记录
  • 其他

    • linux服务器安装OpenOffice踩坑
    • POI踩坑-zip file is closed
    • OpenJDK没有jstack等命令的解决办法
    • 微信小程序加密数据对称解密工具类
    • mybatis的classpath配置导致的jar包读取问题
    • feign请求导致的用户ip获取问题记录
    • ribbon刷新服务列表间隔和canal的坑
    • cpu占用率高排查思路
  • 简介
  • java
  • Java框架
storyxc
2022-08-19

EasyExcel导出excel

# 使用EasyExcel导出excel

# 背景

本来一直在用easypoi,但是发现多sheet导出easyexcel的支持更好一点,遂切换

# 依赖

<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>easyexcel</artifactId>
			<version>2.2.7</version>
		</dependency>
1
2
3
4
5

# 导出多sheet

public void export(X param, HttpServletResponse response) {
        String templatePath = "xxx"
        OutputStream fos = null;
        ExcelWriter excelWriter;
        try {
            fos = response.getOutputStream();
            response.setContentType("application/vnd.ms-excel");
            SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMddHHmmss");
            String date = yyyyMMdd.format(new Date());
            String fileName = "xxx" + date;
            fileName = new String(fileName.getBytes(StandardCharsets.UTF_8), "ISO8859-1");
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls");

            excelWriter = EasyExcel.write(fos).withTemplate(templatePath).build();
            WriteSheet sheet0 = EasyExcel.writerSheet(0, "xxx").build();
            WriteSheet sheet1 = EasyExcel.writerSheet(1, "xxx").build();

            FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.FALSE).build();
            //遍历:模版文件 {t.属性}  
            excelWriter.fill(new FillWrapper("t", xxx), fillConfig, sheet0);//.fill(exportDate, writeSheet0); 填充单独属性
            excelWriter.fill(new FillWrapper("t", xxx), fillConfig, sheet1);
            excelWriter.finish();
        } catch (Exception e) {
            log.info("xxx");
        } finally {
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    log.error("xxxx");
                }
            }
        }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
编辑 (opens new window)
上次更新: 2022/08/19, 17:03:21
ConfigurationProperties注解
分布式锁解决方案

← ConfigurationProperties注解 分布式锁解决方案→

Theme by Vdoing | Copyright © 2019-2022 story | 豫ICP备19046036号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式