如何实现Java Excel导出2个sheet

流程图

gantt
    title Excel导出2个sheet流程
    section 准备工作
    准备数据           :done, a1, 2022-01-01, 1d
    设置文件名         :done, a2, 2022-01-02, 1d
    创建Excel对象     :done, a3, 2022-01-03, 1d
    创建第一个sheet    :done, a4, 2022-01-04, 1d
    创建第二个sheet    :done, a5, 2022-01-05, 1d
    导出Excel文件      :done, a6, 2022-01-06, 1d

步骤

1. 准备工作

首先,我们需要准备数据,并设置导出文件的文件名。

// 引用形式的描述信息
// 准备数据
List<String> sheet1Data = new ArrayList<>();
sheet1Data.add("Name, Age, Gender");
sheet1Data.add("Alice, 25, Female");
sheet1Data.add("Bob, 30, Male");

List<String> sheet2Data = new ArrayList<>();
sheet2Data.add("ID, Department, Salary");
sheet2Data.add("001, IT, 5000");
sheet2Data.add("002, HR, 4500");

// 设置文件名
String fileName = "example.xlsx";

2. 创建Excel对象

接下来,我们需要创建一个Excel对象来操作Excel文件。

// 引用形式的描述信息
// 创建Excel对象
XSSFWorkbook workbook = new XSSFWorkbook();

3. 创建第一个sheet

然后,我们需要创建第一个sheet并填充数据。

// 引用形式的描述信息
// 创建第一个sheet
XSSFSheet sheet1 = workbook.createSheet("Sheet1");

int rowNum = 0;
for (String rowData : sheet1Data) {
    Row row = sheet1.createRow(rowNum++);
    String[] cellData = rowData.split(",");
    int cellNum = 0;
    for (String cellValue : cellData) {
        Cell cell = row.createCell(cellNum++);
        cell.setCellValue(cellValue.trim());
    }
}

4. 创建第二个sheet

接着,我们创建第二个sheet并填充数据。

// 引用形式的描述信息
// 创建第二个sheet
XSSFSheet sheet2 = workbook.createSheet("Sheet2");

int rowNum2 = 0;
for (String rowData : sheet2Data) {
    Row row = sheet2.createRow(rowNum2++);
    String[] cellData = rowData.split(",");
    int cellNum = 0;
    for (String cellValue : cellData) {
        Cell cell = row.createCell(cellNum++);
        cell.setCellValue(cellValue.trim());
    }
}

5. 导出Excel文件

最后,我们将Excel文件导出到指定路径。

// 引用形式的描述信息
// 导出Excel文件
try (FileOutputStream outputStream = new FileOutputStream(fileName)) {
    workbook.write(outputStream);
}

总结

通过以上步骤,我们成功实现了Java Excel导出2个sheet的功能。希望以上内容对你有所帮助!如果有任何问题,欢迎随时向我提问。


在这篇文章中,我们详细介绍了如何在Java中实现Excel导出2个sheet的功能。通过准备工作、创建Excel对象、创建sheet、填充数据和导出文件等步骤,我们可以轻松地完成这个任务。希望这篇文章能帮助你顺利实现目标,加油!