easyexcel导出多个sheet的代码
时间: 2023-10-16 18:15:57 浏览: 97
java导出包含多个sheet的Excel代码示例
以下是使用 easyexcel 导出多个 sheet 的示例代码:
```java
public class MultiSheetExcelWriter {
public static void writeExcel(String filePath, List<List<List<Object>>> data) throws IOException {
try (OutputStream out = new FileOutputStream(filePath)) {
ExcelWriter writer = EasyExcelFactory.getWriter(out);
for (int i = 0; i < data.size(); i++) {
List<List<Object>> sheetData = data.get(i);
String sheetName = "Sheet" + (i + 1);
Sheet sheet = new Sheet(i, 0);
sheet.setSheetName(sheetName);
writer.write0(sheetData, sheet);
}
writer.finish();
}
}
}
```
其中,`data` 是一个三维列表,第一维表示 sheet 的数量,第二维表示每个 sheet 中行的数量,第三维表示每个单元格中的数据。
使用示例:
```java
public class TestMultiSheetExcelWriter {
public static void main(String[] args) throws IOException {
List<List<List<Object>>> data = new ArrayList<>();
for (int i = 0; i < 3; i++) {
List<List<Object>> sheetData = new ArrayList<>();
for (int j = 0; j < 10; j++) {
List<Object> rowData = new ArrayList<>();
for (int k = 0; k < 5; k++) {
rowData.add("Sheet " + (i + 1) + ", Row " + (j + 1) + ", Column " + (k + 1));
}
sheetData.add(rowData);
}
data.add(sheetData);
}
MultiSheetExcelWriter.writeExcel("multi_sheet.xlsx", data);
}
}
```
该示例将会生成一个名为 `multi_sheet.xlsx` 的 Excel 文件,包含 3 个 sheet,每个 sheet 中有 10 行,每行有 5 列。每个单元格中的数据为 `Sheet i, Row j, Column k`,其中 `i`、`j`、`k` 分别代表 sheet 的编号、行的编号和列的编号。
阅读全文