EasyExcel实现导出

该博客介绍了如何利用阿里巴巴的EasyExcel库导出市政设施信息的Excel文件。首先,添加EasyExcel的依赖,然后创建一个工具类`ExcelExportUtils`用于下载Excel,最后在Controller层调用工具类的方法,传入HttpServletResponse、实体类和数据列表来实现导出功能。

实现步骤

1.添加依赖

注意版本一致,3.0以下版本可能会有问题

<!--导入导出excel-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.0.5</version>
        </dependency>

2.导入工具类

package com.topevery.pss.utils;

import com.alibaba.excel.EasyExcel;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;

/**
 * @Author: lisenlin
 * @date: 2022/4/13 10:43
 */
public class ExcelExportUtils {
        public static void download(HttpServletResponse response, Class t, List list) throws IOException, IllegalAccessException,InstantiationException {
            response.setContentType("application/vnd.ms-excel;charset=utf-8");// 设置文本内省
            // response.setCharacterEncoding("utf-8");// 设置字符编码
            String fileName = URLEncoder.encode("市政设施信息表", "utf-8");
            response.setHeader("Content-disposition", "attachment;filename" + fileName+".xlsx"); // 设置响应头
            EasyExcel.write(response.getOutputStream(), t).sheet("市政设施信息表").doWrite(list); //用io流来写入数据
            // EasyExcel.write("D:/test3.xlsx", t).sheet("模板").doWrite(list);
        }
   }

3. Controller层代码实现

/**
     * 导出excel
     */
    @GetMapping("/exportExcel")
    @ApiOperation(value = "exportExcel", notes = "导出")
    public Result<String> exportExcel(HttpServletResponse response) throws IOException, IllegalAccessException, InstantiationException {
    	/*
    	获取你要导出的实体列表
    	exportList: 获取实体列表,返回值为实体类集合。
    	*/
        List<UrbanFacilityManageModel> list = urbanFacilityManageService.exportList();
        /*
        调用工具类实现导出
        UrbanFacilityManageModel: 你的实体类。
        */
        ExcelExportUtils.download(response,UrbanFacilityManageModel.class,list);
        return ResultUtils.ok("success");
    }
Spring Boot应用中使用EasyExcel实现数据导出,可按以下步骤进行: ### 1. 引入依赖 需要引入相关依赖来处理POI相关操作,示例依赖如下: ```xml <!--用来处理POL相关的操作:easypol--> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.2.0</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-web</artifactId> <version>4.2.0</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId> <version>4.2.0</version> </dependency> ``` [^3] ### 2. 创建基础数据类 创建一个基础数据类,用于定义导出数据的格式,示例如下: ```java package com.alibaba.easyexcel.test.demo.web; import java.util.Date; import com.alibaba.excel.annotation.ExcelProperty; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; /** * 基础数据类 * * @author Jiaju Zhuang **/ @Getter @Setter @EqualsAndHashCode public class DownloadData { @ExcelProperty("字符串标题") private String string; @ExcelProperty("日期标题") private Date date; @ExcelProperty("数字标题") private Double doubleData; } ``` [^2] ### 3. 配置导出相关参数(可选) 若涉及大数据量导出,可配置相关参数,例如一个sheet装的数据量和每次查询、写入的数据量,示例如下: ```java public class ExcelConstants { //一个sheet装100w数据 public static final Integer PER_SHEET_ROW_COUNT = 1000000; //每次查询20w数据,每次写入20w数据 public static final Integer PER_WRITE_ROW_COUNT = 200000; } ``` [^4] ### 4. 实现数据导出功能 结合上述步骤,在Spring Boot应用中使用EasyExcel将数据以Excel文件的形式输出给用户,可用于报表生成、数据备份和迁移等场景 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值