springboot使用easyExcel实现一个sheet 分多块内容,每块内容都有自己的表头
时间: 2023-12-10 10:39:16 浏览: 77
使用EasyExcel实现一个sheet分多块内容,每块内容都有自己的表头可以参照以下步骤:
1. 首先,在pom.xml中添加EasyExcel的依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.10</version>
</dependency>
```
2. 创建一个实体类,用于映射Excel中的每一行数据。例如:
```java
@Data
public class User {
@ExcelProperty(value = "姓名", index = 0)
private String name;
@ExcelProperty(value = "年龄", index = 1)
private Integer age;
@ExcelProperty(value = "性别", index = 2)
private String gender;
}
```
3. 创建一个写Excel的方法,代码如下:
```java
public void writeExcel() {
// 文件输出位置
String fileName = "test.xlsx";
// 创建ExcelWriter
ExcelWriter excelWriter = null;
try {
excelWriter = EasyExcel.write(fileName).build();
} catch (IOException e) {
e.printStackTrace();
}
// 写入第一块内容
WriteSheet sheet1 = EasyExcel.writerSheet(0, "Sheet1").head(User.class).build();
List<User> userList1 = new ArrayList<>();
userList1.add(new User("张三", 18, "男"));
userList1.add(new User("李四", 20, "女"));
excelWriter.write(userList1, sheet1);
// 写入第二块内容
WriteSheet sheet2 = EasyExcel.writerSheet(1, "Sheet2").head(User.class).build();
List<User> userList2 = new ArrayList<>();
userList2.add(new User("王五", 22, "男"));
userList2.add(new User("赵六", 24, "女"));
excelWriter.write(userList2, sheet2);
// 关闭ExcelWriter
excelWriter.finish();
}
```
在写Excel的方法中,我们分别创建了两个WriteSheet对象,分别代表了Excel中的两个Sheet。并通过`EasyExcel.writerSheet()`方法设置了Sheet的序号和名称,通过`.head()`方法设置了每个Sheet的表头。
4. 调用写Excel的方法:
```java
public static void main(String[] args) {
ExcelWriterTest excelWriterTest = new ExcelWriterTest();
excelWriterTest.writeExcel();
}
```
运行该程序,即可生成一个包含两个Sheet的Excel文件,每个Sheet都有自己的表头和数据。
阅读全文