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 分钟前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds25 分钟前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹27 分钟前
【Java基础】多态 | 打卡day2
java·开发语言
Re.不晚27 分钟前
JAVA进阶之路——无奖问答挑战2
java·开发语言
Cobyte1 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
Ro Jace1 小时前
计算机专业基础教材
java·开发语言
mango_mangojuice2 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
程序员侠客行2 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
时艰.2 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
Honmaple2 小时前
QMD (Quarto Markdown) 搭建与使用指南
后端