用java写一个easyexcel导出多个sheet页带java实体 @ExcelProperty的的样例,
时间: 2024-04-13 12:29:21 浏览: 26
当然可以!以下是一个使用 Java 和 EasyExcel 库导出多个带有 Java 实体类 `@ExcelProperty` 注解的 sheet 页的示例代码:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.write.metadata.WriteSheet;
import java.util.ArrayList;
import java.util.List;
public class ExcelExporter {
public static void main(String[] args) {
// 创建要导出的数据列表
List<Student> students = new ArrayList<>();
students.add(new Student("张三", 20, "男"));
students.add(new Student("李四", 25, "女"));
List<Course> courses = new ArrayList<>();
courses.add(new Course("数学", 90));
courses.add(new Course("英语", 80));
// 创建 ExcelWriter 对象
String fileName = "multi_sheet_example.xlsx";
ExcelWriter excelWriter = EasyExcel.write(fileName).build();
// 导出第一个 sheet 页的数据
WriteSheet sheet1 = EasyExcel.writerSheet(0, "Sheet1").head(Student.class).build();
excelWriter.write(students, sheet1);
// 导出第二个 sheet 页的数据
WriteSheet sheet2 = EasyExcel.writerSheet(1, "Sheet2").head(Course.class).build();
excelWriter.write(courses, sheet2);
// 关闭 ExcelWriter,释放资源
excelWriter.finish();
}
public static class Student {
@ExcelProperty("姓名")
private String name;
@ExcelProperty("年龄")
private int age;
@ExcelProperty("性别")
private String gender;
// 构造方法、getter 和 setter 略...
}
public static class Course {
@ExcelProperty("学科")
private String subject;
@ExcelProperty("成绩")
private int score;
// 构造方法、getter 和 setter 略...
}
}
```
上述代码定义了两个实体类 `Student` 和 `Course`,并在类中使用 `@ExcelProperty` 注解来指定导出 Excel 时的列名。
示例代码中,第一个 sheet 页导出了学生信息,包括姓名、年龄和性别三列;第二个 sheet 页导出了课程信息,包括学科和成绩两列。
你可以根据自己的需求修改实体类的字段和注解,并根据需要添加更多的实体类和数据。
请确保已将 EasyExcel 库添加到项目的依赖中,例如通过 Maven 的方式:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.4.3</version>
</dependency>
```
希望这个示例对你有帮助!如果你有任何其他问题,请随时提问。