[java] Apache POI를 이용한 Excel 셀 데이터 타입 설정

Apache POI는 자바로 Excel 파일을 다룰 수 있게 도와주는 라이브러리입니다. Excel 파일에서 데이터를 읽거나 쓰기 위해서는 셀의 데이터 타입을 설정해야 합니다. 이번 포스팅에서는 Apache POI를 사용하여 Excel 셀의 데이터 타입을 설정하는 방법에 대해 알아보겠습니다.

1. 라이브러리 설정

먼저 Apache POI를 사용하기 위해 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 라이브러리를 추가해야합니다. 아래는 Maven을 사용하는 경우의 예시입니다.

<dependencies>
    <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>
</dependencies>

2. 데이터 타입 설정

Excel 셀의 데이터 타입은 CellType 열거형을 사용하여 설정할 수 있습니다. CellType에는 다양한 데이터 타입이 정의되어 있으며, 주로 사용되는 데이터 타입은 다음과 같습니다.

셀의 데이터 타입을 설정하려면 다음과 같은 코드를 사용할 수 있습니다.

Cell cell = row.createCell(0); // 셀 생성
cell.setCellValue("Hello POI");

CellStyle style = workbook.createCellStyle();
style.setDataFormat(workbook.getCreationHelper().createDataFormat().getFormat("yyyy-mm-dd"));

cell.setCellStyle(style); // 셀의 데이터 타입 설정

위의 코드는 첫 번째 열에 “Hello POI”라는 문자열을 가진 새로운 셀을 생성하고, DataFormat을 이용하여 날짜 형식으로 설정하는 방법을 보여줍니다.

3. 셀의 데이터 타입 가져오기

셀의 데이터 타입을 가져오기 위해서는 getCellTypeEnum() 메서드를 사용합니다. 다음은 셀의 데이터 타입을 확인하는 예시 코드입니다.

Cell cell = row.getCell(0); // 셀 가져오기

CellType cellType = cell.getCellTypeEnum(); // 셀의 데이터 타입 가져오기

if(cellType == CellType.STRING) {
    String value = cell.getStringCellValue();
    System.out.println("Value: " + value);
} else if(cellType == CellType.NUMERIC) {
    double value = cell.getNumericCellValue();
    System.out.println("Value: " + value);
}

위의 코드는 첫 번째 열의 데이터 타입을 확인하고, CellType에 따라 셀의 값을 가져오는 방법을 보여줍니다.

이렇듯 Apache POI를 사용하여 Excel 셀의 데이터 타입을 설정하고 가져오는 방법을 알아보았습니다. 이를 활용하여 Excel 파일을 다루는 다양한 작업을 수행할 수 있습니다.

참고 자료