Java POI 设置 Excel 合并居中

1. 引言

在处理数据时,我们经常需要将数据导出到 Excel 文件中。Java POI 是一个强大的 Java 库,可以处理 Excel 文件的读写操作。在 Excel 文件中,有时我们需要将几个单元格合并成一个单元格,并将合并后的单元格内容居中显示。本文将介绍如何使用 Java POI 来设置 Excel 合并居中。

2. 准备工作

在开始之前,你需要确保已经安装了 Java 开发环境以及相关的库文件。你可以通过以下命令来检查你的 Java 环境是否正确安装:

java -version

如果你的 Java 环境已经正确安装,你可以继续下面的步骤。

在本文中,我们将使用 Apache POI 库来操作 Excel 文件。你可以在 Maven 中央仓库中找到 POI 的最新版本。在你的项目的 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>

3. 示例代码

接下来,我们将通过一个简单的示例代码来演示如何使用 Java POI 来设置 Excel 合并居中。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelExample {
    public static void main(String[] args) {
        try {
            // 创建工作簿
            Workbook workbook = new XSSFWorkbook();
            // 创建工作表
            Sheet sheet = workbook.createSheet("Sheet1");
            // 创建单元格样式
            CellStyle style = workbook.createCellStyle();
            style.setAlignment(HorizontalAlignment.CENTER);
            style.setVerticalAlignment(VerticalAlignment.CENTER);

            // 合并单元格
            sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));
            
            // 创建行
            Row row = sheet.createRow(0);
            // 创建单元格
            Cell cell = row.createCell(0);
            cell.setCellValue("合并居中");

            // 设置单元格样式
            cell.setCellStyle(style);

            // 保存工作簿到文件
            FileOutputStream fileOut = new FileOutputStream("example.xlsx");
            workbook.write(fileOut);
            fileOut.close();

            // 输出成功信息
            System.out.println("Excel 文件已生成成功!");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

在上面的示例代码中,我们首先创建了一个工作簿(Workbook)对象和一个工作表(Sheet)对象。然后,我们创建了一个单元格样式(CellStyle)对象,并设置其水平和垂直对齐方式为居中(HorizontalAlignment.CENTER 和 VerticalAlignment.CENTER)。接下来,我们使用 sheet.addMergedRegion() 方法来合并单元格,指定合并的行、列范围。然后,我们创建了一行(Row)对象和一个单元格(Cell)对象,并将单元格的值设置为 "合并居中"。最后,我们将单元格样式应用到单元格,并将工作簿写入到文件中。

4. 运行结果

在运行示例代码后,你将会在当前目录下发现一个名为 "example.xlsx" 的 Excel 文件。打开该文件,你将看到第一行的单元格已经被成功合并,并且合并后的单元格内容居中显示。

5. 总结

通过本文的介绍,你已经了解了如何使用 Java POI 来设置 Excel 合并居中。你可以根据自己的需求,进一步扩展和优化该功能。希望本文对你的学习和工作有所帮助!

附录:状态图

下面是一个使用 Mermaid 语法绘制的状态图,展示了示例代码的执行流程:

stateDiagram
    [*] --> 创建工作簿
    创建工作簿 --> 创建工作表
    创建工作表 --> 创建单元格样式
    创建单