SpringBoot реализует экспорт данных — экспорт данных EasyExcel.



вставьте сюда описание изображения

1. Введение в EasyExcel

На официальном веб-сайте EasyExcel сообщается, что большинство традиционных операций Excel выполняются с помощью Apache POI, но структура POI
не идеальна, процесс использования очень громоздкий и имеет много недостатков:
динамическая работа Excel очень громоздка, и это новичкам сложно сделать это за короткое время. Начните изнутри; для
чтения и записи требуется большой объем памяти, а проблемы с переполнением памяти (OOM) могут возникать при большом объеме данных; по вышеуказанным причинам , Alibaba открыла простую в использовании и относительно экономящую память операционную среду Excel: EasyExcel.
Уведомление: базовый уровень easyExcel реализован с использованием POI;

Адрес официального сайта: https://www.yuque.com/easyexcel/doc/easyexcel


2. Экспорт

2.1 Знакомство с зависимостями

<!--引入easyexcel-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.4</version>
</dependency>

2.2 Создайте тестовый класс сущностей

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {
    
    

    @ExcelProperty(value = {
    
    "用户名"},index = 0)
    private String userName;

    @ExcelProperty(value = {
    
    "年龄"},index = 1)
    private Integer age;

    @ExcelProperty(value = {
    
    "地址"} ,index = 2)
    private String address;

    @ExcelProperty(value = {
    
    "生日"},index = 3)
    //注意:日期格式注解由alibaba.excel提供
	//  @DateTimeFormat("yyyy-MM-dd HH:mm")
    private Date birthday;
    
}

код экспорта

    public static void main(String[] args) {
    
    
        //组装数据
        ArrayList<User> users = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
    
    
            User user = new User();
            user.setAddress("西安" + i);
            user.setUserName("张三" + i);
            user.setBirthday(new Date());
            user.setAge(10 + i);
            users.add(user);
        }

        //不做任何注解处理时,表头名称与实体类属性名称一致
        EasyExcel.write("D:\\用户.xlsx", User.class).sheet("用户信息").doWrite(users);
    }

экспортный эффект
вставьте сюда описание изображения


3. Установите размер ячейки

Добавьте следующие аннотации к классу

@HeadRowHeight(value = 35) // 表头行高
@ContentRowHeight(value = 25) // 内容行高
@ColumnWidth(value = 50) // 列宽

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@HeadRowHeight(value = 35) // 表头行高
@ContentRowHeight(value = 25) // 内容行高
@ColumnWidth(value = 50) // 列宽
public class User implements Serializable {
    
    

    @ExcelProperty(value = {
    
    "用户名"},index = 0)
    private String userName;

    @ExcelProperty(value = {
    
    "年龄"},index = 1)
    private Integer age;

    @ExcelProperty(value = {
    
    "地址"} ,index = 2)
    private String address;

    @ExcelProperty(value = {
    
    "生日"},index = 3)
    //注意:日期格式注解由alibaba.excel提供
//    @DateTimeFormat("yyyy-MM-dd HH:mm")
    private Date birthday;
}

Эффект следующий:
вставьте сюда описание изображения

вставьте сюда описание изображения

Supongo que te gusta

Origin blog.csdn.net/m0_60915009/article/details/131393249
Recomendado
Clasificación