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

效果

相关推荐
慕芊妤1 分钟前
Logo语言的数据可视化
开发语言·后端·golang
南玖yy18 分钟前
数据结构C语言练习(设计循环队列)
java·c语言·数据结构
烁34720 分钟前
每日一题(小白)字符串娱乐篇16
java·开发语言·算法·娱乐·暴力
努力努力再努力wz37 分钟前
【c++深入系列】:类和对象详解(下)
java·运维·c语言·开发语言·c++
程序员小续1 小时前
git rebase 和git merge使用及区别
前端·git·后端
sunbin1 小时前
Eclipse 数据空间组件-实现简单的事件消费者-6
后端
云闲不收1 小时前
golang 计时器内存泄露问题 与 pprof 性能分析工具
开发语言·后端·golang
优雅的38度1 小时前
SpringBoot 3.0+ 整合 Swagger 3.0
java·后端
Pitayafruit1 小时前
🔥 Spring Boot 3 整合 zxing:轻松生成二维码的指南
java·spring boot·后端
雷渊1 小时前
redis如何实现发布/订阅功能?
java·后端·面试