springboot里 运用 easyexcel 导出

引入pom

xml 复制代码
<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>easyexcel</artifactId>
			<version>2.2.6</version>
</dependency>

运用

java 复制代码
import com.alibaba.excel.EasyExcel;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Controller
@RequestMapping("/easy/excel")
public class EasyExcelController {

    @GetMapping("/tttt")
    public void tttt(HttpServletResponse response) throws Exception
    {
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setCharacterEncoding("utf-8");
        // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
        String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20");
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");

        // 表头
        List<List<String>> heads = new ArrayList<List<String>>();

        List<String> head0 = new ArrayList<>();
        head0.add("字符id");
        List<String> head1 = new ArrayList<>();
        head1.add("合并1");
        head1.add("合并2");
        List<String> head2 = new ArrayList<>();
        head2.add("数量1");
        List<String> head3 = new ArrayList<>();
        head3.add("小数");
        List<String> head4 = new ArrayList<>();
        head4.add("    时    间    ");
        heads.add(head0);
        heads.add(head1);
        heads.add(head2);
        heads.add(head3);
        heads.add(head4);



        List<List<Object>> rt = new ArrayList<List<Object>>();

        List<Object> row =new ArrayList<>();
        row.add("UID1");
        row.add("name1");
        row.add(7);
        row.add(1.2);
        row.add(new Date());
        rt.add(row);

        List<Object> row2 =new ArrayList<>();
        row2.add("UID2");
        row2.add("name2");
        row2.add(1);
        row2.add(3.4);
        row2.add(new Date());
        rt.add(row2);
        EasyExcel.write(response.getOutputStream()).head(heads).sheet("sheet名").doWrite(rt);
    }
}

官网API

效果

相关推荐
熊大如如16 分钟前
Java 反射
java·开发语言
猿来入此小猿35 分钟前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
goTsHgo1 小时前
Spring Boot 自动装配原理详解
java·spring boot
卑微的Coder1 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
pjx9872 小时前
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
java·spring cloud·微服务·eureka
炒空心菜菜2 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
多多*2 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥2 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
唐僧洗头爱飘柔95273 小时前
【SSM-SSM整合】将Spring、SpringMVC、Mybatis三者进行整合;本文阐述了几个核心原理知识点,附带对应的源码以及描述解析
java·spring·mybatis·springmvc·动态代理·ioc容器·视图控制器
骑牛小道士3 小时前
Java基础 集合框架 Collection接口和抽象类AbstractCollection
java