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

效果

相关推荐
为java加瓦13 小时前
Lombok @Data 注解在 Spring Boot 项目中的深度应用与实践指南
java·开发语言·数据库
青山撞入怀111413 小时前
sql题目练习-子查询
java·数据库·sql
番茄Salad14 小时前
Spring Boot项目中Maven引入依赖常见报错问题解决
spring boot·后端·maven
Jabes.yang14 小时前
Java求职面试: 互联网医疗场景中的缓存技术与监控运维应用
java·redis·spring security·grafana·prometheus·oauth2·互联网医疗
摇滚侠14 小时前
Spring Boot 3零基础教程,yml配置文件,笔记13
spring boot·redis·笔记
初级炼丹师(爱说实话版)14 小时前
内存泄漏与内存溢出
java
CryptoRzz15 小时前
越南k线历史数据、IPO新股股票数据接口文档
java·数据库·后端·python·区块链
QX_hao15 小时前
【Go】--数组和切片
后端·golang·restful
-睡到自然醒~15 小时前
提升应用性能:Go中的同步与异步处理
开发语言·后端·golang
文心快码BaiduComate15 小时前
新手该如何选择AI编程工具?文心快码Comate全方位体验
前端·后端·程序员