[java] Apache POI를 이용한 Excel 셀 병합

이 문서에서는 Apache POI 라이브러리를 사용하여 Java 프로그램에서 Excel 파일의 셀을 병합하는 방법을 알아보겠습니다.

Apache POI 라이브러리란?

Apache POI는 자바에서 마이크로소프트 오피스 파일 포맷을 읽고 쓰기 위한 라이브러리입니다. 이 라이브러리는 강력하고 유연한 API를 제공하여 Excel, Word, PowerPoint 파일 등을 조작할 수 있습니다.

의존성 추가

Excel 파일을 병합하기 위해 프로젝트에 Apache POI 라이브러리의 종속성을 추가해야 합니다. Maven 프로젝트의 경우 pom.xml 파일에 다음과 같은 의존성을 추가합니다:

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

Gradle 프로젝트의 경우 build.gradle 파일에 다음과 같은 의존성을 추가합니다:

dependencies {
    implementation 'org.apache.poi:poi:4.1.2'
}

Excel 셀 병합하기

Apache POI를 사용하여 Excel 파일의 셀을 병합하려면 다음 단계를 따르세요:

  1. Workbook 객체를 만들어 Excel 파일을 엽니다.
  2. Sheet 객체를 가져옵니다.
  3. 병합할 셀의 범위를 지정합니다.
  4. Sheet 객체의 addMergedRegion 메서드를 사용하여 병합 영역을 추가합니다.
  5. 변경된 Excel 파일을 저장합니다.

아래는 예제 코드입니다:

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

public class ExcelMergeCellsExample {
    public static void main(String[] args) throws Exception {
        // Excel 파일 열기
        Workbook workbook = WorkbookFactory.create(new File("path/to/excel.xlsx"));

        // 첫 번째 시트 가져오기
        Sheet sheet = workbook.getSheetAt(0);

        // 병합할 셀의 범위 지정
        CellRangeAddress region = new CellRangeAddress(0, 0, 0, 3);

        // 병합 영역 추가
        sheet.addMergedRegion(region);

        // 변경된 Excel 파일 저장
        FileOutputStream outputStream = new FileOutputStream("path/to/merged_excel.xlsx");
        workbook.write(outputStream);
        outputStream.close();
    }
}

위의 코드에서 path/to/excel.xlsx는 병합할 대상이 되는 Excel 파일의 경로를 나타내며, path/to/merged_excel.xlsx는 병합된 Excel 파일을 저장할 경로입니다.

이제 위의 예제 코드를 실행하면 지정된 셀 범위가 병합된 Excel 파일이 생성될 것입니다.

결론

이 문서에서는 Apache POI를 사용하여 Java 프로그램에서 Excel 파일의 셀을 병합하는 방법을 알아보았습니다. Sheet 객체의 addMergedRegion 메서드를 사용하여 원하는 셀 범위를 병합할 수 있습니다. Apache POI는 Excel 파일을 조작하기 위한 다양한 기능을 제공하므로, 더 많은 작업을 수행하려면 공식 문서나 예제 코드를 참고해보시기 바랍니다.

참고 자료