[java] Apache POI를 이용한 Excel 셀 스타일링

Apache POI는 Java로 Excel 파일을 처리하는 라이브러리로 널리 사용되고 있습니다. 이 라이브러리를 사용하면 Excel 파일을 읽고 쓸 수 있으며, 셀에 스타일을 적용하는 것도 가능합니다. 이번 글에서는 Apache POI를 사용하여 Excel 셀에 스타일을 적용하는 방법을 알아보겠습니다.

1. Apache POI 라이브러리 추가하기

먼저, 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'
}

2. Excel 파일 생성하기

먼저, Excel 파일을 생성하고 셀에 데이터를 쓰는 코드를 작성합니다.

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

public class ExcelStylingExample {

    public static void main(String[] args) throws Exception {
        // Workbook 생성
        Workbook workbook = new XSSFWorkbook();

        // Sheet 생성
        Sheet sheet = workbook.createSheet("Sheet1");

        // Cell 스타일 생성
        CellStyle style = workbook.createCellStyle();
        Font font = workbook.createFont();
        font.setBold(true);
        font.setColor(IndexedColors.RED.getIndex());
        style.setFont(font);

        // 데이터 쓰기
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("스타일링된 셀");
        cell.setCellStyle(style);

        // Excel 파일 저장
        try (FileOutputStream fos = new FileOutputStream("styled_excel.xlsx")) {
            workbook.write(fos);
        }
    }

}

위 코드를 실행하면 styled_excel.xlsx라는 파일이 생성되고, 첫 번째 셀에 스타일이 적용된 “스타일링된 셀”이라는 데이터가 쓰여집니다.

3. 셀에 스타일 적용하기

위 예제 코드에서는 CellStyle 인스턴스를 생성하여 해당 셀에 스타일을 적용했습니다. CellStyle은 폰트, 배경색, 경계선 등의 스타일을 지정할 수 있는 메서드를 제공합니다.

위 코드에서는 폰트를 설정하여 셀의 텍스트를 빨간색과 굵게 표시하도록 설정했습니다. Font 객체를 생성하고, 해당 객체의 메서드를 사용하여 원하는 스타일을 지정할 수 있습니다.

4. 정리

이렇게 Apache POI를 사용하여 Excel 셀에 스타일을 적용하는 방법을 알아보았습니다. POI를 사용하면 Excel 파일을 다루는 다양한 작업을 쉽게 처리할 수 있습니다. 예제 코드를 참고하여 필요한 스타일을 적용해보세요.

참고 자료