EasyExcel 编程式配置读、写哪些字段

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2026年1月26日 (一) 09:00的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

写入时指定只写某些字段

import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;

public class EasyExcelWriteDynamicDemo {
    public static void main(String[] args) {
        List<User> userList = new ArrayList<>();
        User user1 = new User();
        user1.setId(1L);
        user1.setUsername("张三");
        user1.setPassword("123456");
        user1.setAge(20);
        userList.add(user1);

        String fileName = "D:/user_list_dynamic.xlsx";
        // 写入时只包含 username 和 age 字段
        EasyExcel.write(fileName, User.class)
                .includeColumnFiledNames("username", "age") // 指定只写这些字段
                .sheet("用户列表")
                .doWrite(userList);
    }
}

读取时指定只读某些字段

import com.alibaba.excel.EasyExcel;
import java.util.List;

public class EasyExcelReadDynamicDemo {
    public static void main(String[] args) {
        String fileName = "D:/user_list_dynamic.xlsx";
        // 读取时只包含 username 字段
        List<User> userList = EasyExcel.read(fileName, User.class)
                .includeColumnFiledNames("username") // 指定只读这些字段
                .sheet()
                .doReadSync();
        
        for (User user : userList) {
            System.out.println(user); // 只有username有值,其他字段为null
        }
    }
}

includeColumnFiledNames 是白名单(只包含这些字段),excludeColumnFiledNames 是黑名单(排除这些字段)。