[java] Apache POI를 사용하여 Excel 파일에서 데이터 읽기

Apache POI는 Java에서 Microsoft Office 파일 형식인 Excel, Word, PowerPoint를 다룰 수 있는 라이브러리입니다. 이번 글에서는 Apache POI를 사용하여 Java 코드로 Excel 파일에서 데이터를 읽는 방법에 대해 알아보겠습니다.

Apache POI 라이브러리 추가하기

먼저, 프로젝트에 Apache POI 라이브러리를 추가해야 합니다. Maven을 사용한다면 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>

만약 Maven이나 Gradle을 사용하지 않는다면, Apache POI 라이브러리를 공식 웹사이트에서 다운로드하여 프로젝트에 추가해주세요.

Excel 파일에서 데이터 읽기

이제 Apache POI를 사용하여 Excel 파일에서 데이터를 읽기 위한 코드를 작성해보겠습니다.

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

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

public class ExcelReader {
    public static void main(String[] args) {
        // 읽어올 Excel 파일 경로
        String filePath = "path/to/excel/file.xlsx";
        
        try (FileInputStream fis = new FileInputStream(filePath);
             Workbook workbook = new XSSFWorkbook(fis)) {
            
            // 첫 번째 시트 선택
            Sheet sheet = workbook.getSheetAt(0);
            
            // 각 행을 순회하며 데이터 출력
            for (Row row : sheet) {
                for (Cell cell : row) {
                    String cellData = "";
                    
                    // 셀의 데이터 타입에 따라 처리
                    switch (cell.getCellType()) {
                        case STRING:
                            cellData = cell.getStringCellValue();
                            break;
                        case NUMERIC:
                            cellData = String.valueOf(cell.getNumericCellValue());
                            break;
                        case BOOLEAN:
                            cellData = String.valueOf(cell.getBooleanCellValue());
                            break;
                        default:
                            // 다른 데이터 타입이 있는 경우 처리
                            break;
                    }
                    
                    System.out.print(cellData + " ");
                }
                System.out.println();
            }
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 filePath 변수를 실제 Excel 파일의 경로로 설정해주세요. 코드를 실행하면 Excel 파일의 첫 번째 시트에 있는 데이터가 출력됩니다.

결론

Apache POI를 사용하면 Java로 Excel 파일에서 데이터를 읽는 것이 간단해집니다. 이를 활용하여 Excel 파일에서 데이터를 추출하여 다양한 작업을 수행할 수 있습니다.

더 자세한 내용은 Apache POI 공식 문서를 참고하시기 바랍니다.