[java] Apache POI를 사용하여 Excel 파일의 해더와 푸터 읽기

Apache POI는 자바에서 Microsoft Office 파일을 조작하기 위한 라이브러리입니다. 이번에는 Apache POI를 사용하여 Excel 파일의 해더와 푸터를 읽는 방법을 알아보겠습니다.

1. 의존성 설정

먼저, Maven 또는 Gradle을 사용하여 Apache POI의 의존성을 추가해야 합니다. 아래는 Maven을 사용하는 경우의 예시입니다.

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>{version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>{version}</version>
    </dependency>
</dependencies>

여기서 {version}은 사용하고자 하는 Apache POI의 버전을 입력하면 됩니다.

2. Excel 파일 열기

다음으로는 Apache POI를 사용하여 Excel 파일을 열어야 합니다. Apache POI는 HSSFWorkbook과 XSSFWorkbook 두 가지 클래스를 제공합니다. HSSFWorkbook은 .xls (Excel 97-2003) 파일을 처리하고, XSSFWorkbook은 .xlsx (Excel 2007 이상) 파일을 처리합니다. 따라서 파일의 확장자를 기준으로 적절한 클래스를 선택해야 합니다.

FileInputStream fis = new FileInputStream("file.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fis);

위의 예시에서는 .xlsx 파일을 읽기 위해 XSSFWorkbook을 사용했습니다.

3. 첫 번째 시트 선택

Excel 파일에는 하나 이상의 시트가 있을 수 있으므로, 작업할 시트를 선택해야 합니다. 일반적으로 첫 번째 시트를 선택하는 경우가 많습니다.

XSSFSheet sheet = workbook.getSheetAt(0);

위의 예시에서는 첫 번째 시트를 선택했습니다.

4. 해더 읽기

Excel 파일의 해더는 일반적으로 첫 번째 행에 위치하므로, 첫 번째 행을 읽으면 됩니다.

XSSFRow headerRow = sheet.getRow(0);

for (Cell cell : headerRow) {
    String columnHeader = cell.getStringCellValue();
    System.out.println(columnHeader);
}

위의 예시에서는 첫 번째 행을 읽고, 각 셀의 값을 출력하는 코드입니다.

5. 푸터 읽기

Excel 파일의 푸터는 주로 마지막 행에 위치하므로, 마지막 행을 읽으면 됩니다.

int lastRowNum = sheet.getLastRowNum();
XSSFRow footerRow = sheet.getRow(lastRowNum);

for (Cell cell : footerRow) {
    String footerValue = cell.getStringCellValue();
    System.out.println(footerValue);
}

위의 예시에서는 마지막 행을 읽고, 각 셀의 값을 출력하는 코드입니다.

6. 파일 닫기

작업이 끝난 후에는 파일을 닫아주어야 합니다.

workbook.close();
fis.close();

위의 코드를 사용하여 Excel 파일의 해더와 푸터를 읽을 수 있습니다.

이러한 방법을 사용하여 Apache POI를 활용하여 Java에서 Excel 파일의 해더와 푸터를 읽어올 수 있습니다.

출처