easyexcel导出多个sheet导出
时间: 2024-12-27 07:25:50 浏览: 7
### 使用 EasyExcel 导出包含多个 Sheet 的 Excel 文件
为了实现使用 EasyExcel 导出包含多个工作表 (Sheet) 的 Excel 文件,可以通过创建不同的数据类来表示各个表格的数据结构,并通过 `EasyExcel.write` 方法指定要写入的目标文件路径。对于每一个新的 Sheet 可以调用 `.sheet()` 来切换当前操作的工作表。
以下是具体的 Java 实现方式:
#### 定义实体类
定义两个不同类型的实体类用于填充到各自对应的 Sheet 中去。
```java
public class DataOne {
@ExcelProperty("字段名称1")
private String fieldOne;
// getter and setter methods...
}
public class DataTwo {
@ExcelProperty("字段名称2")
private Integer fieldTwo;
// getter and setter methods...
}
```
#### 编写导出逻辑
编写服务方法来进行多 sheet 数据的导出处理。
```java
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public void exportMultiSheets(String fileName){
// 准备两组测试数据列表
List<DataOne> dataOnes = new ArrayList<>();
List<DataTwo> dataTwos = new ArrayList<>();
// 向这两个集合中添加模拟数据...
try{
// 创建一个新的 Excel 写入器实例
EasyExcel.write(fileName)
.registerWriteHandler(new CustomCellStyleStrategy()) // 如果需要自定义样式可注册处理器
.build()
// 开始向第一个 Sheet 写入数据
.write(dataOnes, new DataOneFillListener())
.sheet("SheetName1")
.doWrite(dataOnes)
// 切换至第二个 Sheet 并继续写入另一批数据
.sheet("SheetName2")
.doWrite(dataTwos);
} catch(Exception e){
throw new RuntimeException(e.getMessage(),e.getCause());
}
}
```
上述代码展示了如何利用 EasyExcel 库在一个 Excel 文件内创建多个带有不同类型数据的工作表[^3]。注意,在实际应用环境中应当根据业务需求调整相应的配置项和服务端点设计。
阅读全文