[java] Apache POI를 사용하여 Excel 파일의 셀 서식 읽기

Apache POI는 자바에서 Microsoft Office 파일을 읽고 쓰는 라이브러리입니다. 이 라이브러리를 사용하면 Excel 파일의 내용뿐만 아니라 셀의 서식도 읽을 수 있습니다. 이번 포스트에서는 Apache POI를 사용하여 Excel 파일의 셀 서식을 읽는 방법을 알아보겠습니다.

Apache POI 종속성 추가하기

먼저 Maven 또는 Gradle 프로젝트에서 Apache POI를 사용하기 위해 아래의 종속성을 추가해야 합니다.

<!-- Maven -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.0.0</version>
</dependency>

<!-- Gradle -->
implementation 'org.apache.poi:poi:5.0.0'

셀 서식 읽기

Excel 파일의 셀 서식을 읽기 위해서는 CellStyle 클래스를 사용해야 합니다. 다음 예제 코드를 통해 셀의 배경색과 글꼴 스타일 정보를 읽는 방법을 알아보겠습니다.

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

import java.io.FileInputStream;
import java.io.IOException;

public class ExcelReader {
    public static void main(String[] args) {
        try (FileInputStream file = new FileInputStream("path/to/excel-file.xlsx")) {
            Workbook workbook = new XSSFWorkbook(file);
            Sheet sheet = workbook.getSheetAt(0);
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(0);
            CellStyle cellStyle = cell.getCellStyle();

            // 배경색 정보 읽기
            short backgroundColorIndex = cellStyle.getFillForegroundColor();
            Color backgroundColor = cellStyle.getFillBackgroundColorColor();
            System.out.println("배경색: " + backgroundColor);

            // 글꼴 스타일 정보 읽기
            Font font = workbook.getFontAt(cellStyle.getFontIndex());
            String fontName = font.getFontName();
            short fontSize = font.getFontHeightInPoints();
            boolean isBold = font.getBold();
            boolean isItalic = font.getItalic();
            boolean isUnderline = font.getUnderline();
            System.out.println("글꼴: " + fontName);
            System.out.println("글꼴 크기: " + fontSize);
            System.out.println("굵게: " + isBold);
            System.out.println("기울임꼴: " + isItalic);
            System.out.println("밑줄: " + isUnderline);

            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 path/to/excel-file.xlsx 부분을 읽고자 하는 Excel 파일의 경로로 변경해야 합니다.

결과 확인

위의 예제 코드를 실행하면 콘솔에 배경색과 글꼴 스타일 정보가 출력됩니다. 이를 통해 Excel 파일의 셀 서식을 성공적으로 읽어올 수 있습니다.

마무리

이번 포스트에서는 Apache POI를 사용하여 Excel 파일의 셀 서식을 읽는 방법을 알아보았습니다. Apache POI는 다양한 기능을 제공하므로 Excel 파일을 다룰 때 유용하게 사용될 수 있습니다. 더 자세한 정보는 Apache POI 공식 문서를 참조하시기 바랍니다.