EasyExcel根本利用

[复制链接]
发表于 2026-2-5 02:05:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
EasyExcel先容
  1. https://github.com/alibaba/easyexcel
复制代码

示例


pom.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <groupId>com.studio</groupId>
  7.     <artifactId>TestEasyExcel</artifactId>
  8.     <version>1.0-SNAPSHOT</version>
  9.     <dependencies>
  10.         <dependency>
  11.             <groupId>ch.qos.logback</groupId>
  12.             <artifactId>logback-classic</artifactId>
  13.             <version>1.2.11</version>
  14.         </dependency>
  15.         <dependency>
  16.             <groupId>org.slf4j</groupId>
  17.             <artifactId>slf4j-api</artifactId>
  18.             <version>1.7.32</version>
  19.         </dependency>
  20.         <dependency>
  21.             <groupId>org.apache.logging.log4j</groupId>
  22.             <artifactId>log4j-core</artifactId>
  23.             <version>2.19.0</version>
  24.         </dependency>
  25.         <dependency>
  26.             <groupId>org.projectlombok</groupId>
  27.             <artifactId>lombok</artifactId>
  28.             <version>1.18.30</version>
  29.         </dependency>
  30.         <dependency>
  31.             <groupId>com.alibaba</groupId>
  32.             <artifactId>easyexcel</artifactId>
  33.             <version>4.0.2</version>
  34.         </dependency>
  35.     </dependencies>
  36.     <build>
  37.         <plugins>
  38.             <plugin>
  39.                 <groupId>org.apache.maven.plugins</groupId>
  40.                 <artifactId>maven-compiler-plugin</artifactId>
  41.                 <configuration>
  42.                     <source>1.8</source>
  43.                     <target>1.8</target>
  44.                     <encoding>UTF-8</encoding>
  45.                 </configuration>
  46.             </plugin>
  47.             <plugin>
  48.                 <groupId>org.apache.maven.plugins</groupId>
  49.                 <artifactId>maven-surefire-plugin</artifactId>
  50.                 <configuration>
  51.                     <skip>true</skip>
  52.                 </configuration>
  53.             </plugin>
  54.         </plugins>
  55.     </build>
  56. </project>
复制代码
User.java
  1. package com.studio.pojo;
  2. import com.alibaba.excel.annotation.ExcelIgnore;
  3. import com.alibaba.excel.annotation.ExcelProperty;
  4. import com.alibaba.excel.annotation.format.DateTimeFormat;
  5. import com.alibaba.excel.annotation.write.style.ColumnWidth;
  6. import com.alibaba.excel.annotation.write.style.ContentRowHeight;
  7. import com.alibaba.excel.annotation.write.style.HeadRowHeight;
  8. import lombok.AllArgsConstructor;
  9. import lombok.Builder;
  10. import lombok.Data;
  11. import lombok.NoArgsConstructor;
  12. import java.io.Serializable;
  13. import java.util.Date;
  14. /**
  15. * 说明
  16. * 1)index:指定列所在的索引,从0开始
  17. * 2)@DateTimeFormat 自定义日期格式
  18. * 3)@ExcelIgnore 忽略指定表头信息
  19. * 4)合并表头
  20. * 5)设置单元格大小
  21. */
  22. @Data
  23. @NoArgsConstructor
  24. @AllArgsConstructor
  25. @Builder
  26. @HeadRowHeight(value = 25) // 表头行高
  27. @ContentRowHeight(value = 25) // 内容行高
  28. @ColumnWidth(value = 30) // 列宽
  29. public class User implements Serializable {
  30.     @ExcelProperty(value = {"用户基本信息", "用户名"}, index = 1)
  31.     private String userName;
  32.     @ExcelProperty(value = {"用户基本信息", "年龄"}, index = 2)
  33.     private Integer age;
  34.     @ExcelProperty(value = {"用户基本信息", "地址"}, index = 4)
  35.     private String address;
  36.     @ExcelProperty(value = {"用户基本信息", "生日"}, index = 3)
  37.     @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
  38.     private Date birthday;
  39.     @ExcelIgnore
  40.     @ExcelProperty(value = {"用户基本信息", "用户ID"}, index = 5)
  41.     private String userId;
  42. }
复制代码
Main.java
  1. package com.studio;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.alibaba.excel.context.AnalysisContext;
  4. import com.alibaba.excel.event.AnalysisEventListener;
  5. import com.studio.pojo.User;
  6. import java.util.ArrayList;
  7. import java.util.Date;
  8. public class Main {
  9.     public static void main(String[] args) {
  10. //        writeExcel();
  11.         readExcel();
  12.     }
  13.     /**
  14.      * 写入Excel
  15.      */
  16.     public static void writeExcel(){
  17.         ArrayList<User> users = new ArrayList<>();
  18.         for (int i = 0; i < 10; i++) {
  19.             User user = new User();
  20.             user.setAddress("上海" + i);
  21.             user.setUserName("张三" + i);
  22.             user.setBirthday(new Date());
  23.             user.setAge(10 + i);
  24.             users.add(user);
  25.         }
  26.         EasyExcel.write("E:\\用户.xls", User.class).sheet("用户信息").doWrite(users);
  27.     }
  28.     /**
  29.      * 读取Excel
  30.      */
  31.     public static void readExcel(){
  32.         ArrayList<User> users = new ArrayList<>();
  33.         //读取数据
  34.         EasyExcel.read("E:\\用户.xls", User.class, new AnalysisEventListener<User>() {
  35.             @Override
  36.             public void invoke(User user, AnalysisContext analysisContext) {
  37.                 System.out.println("读取一行:" + user);
  38.                 users.add(user);
  39.             }
  40.             @Override
  41.             public void doAfterAllAnalysed(AnalysisContext analysisContext) {
  42.                 System.out.println("所有读取完成");
  43.             }
  44.         }).sheet().doRead();
  45.         System.out.println(users);
  46.     }
  47. }
复制代码
结果


回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表