[java] Java Apache POI를 사용하여 Excel 파일의 필터 설정하기

이번 포스트에서는 Java Apache POI 라이브러리를 사용하여 Excel 파일의 필터를 설정하는 방법에 대해 알아보겠습니다.

Excel 파일에 필터를 설정하면 특정 조건에 맞는 데이터만 필터링하여 편리하게 데이터를 분석할 수 있습니다. Apache POI는 Java에서 Excel 파일을 조작하는 데 매우 유용한 라이브러리입니다.

필요한 라이브러리 추가하기

먼저, 프로젝트의 빌드 파일에 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 group: 'org.apache.poi', name: 'poi', version: '4.1.2'
}

필터 설정하기

이제 Excel 파일의 필터를 설정하는 코드를 작성해보겠습니다. 먼저, 필터를 설정할 시트를 열어야 합니다.

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

public class ExcelFilterExample {
    public static void main(String[] args) {
        try (Workbook workbook = WorkbookFactory.create(new File("example.xlsx"))) {
            Sheet sheet = workbook.getSheetAt(0);

            // 필터 설정
            sheet.setAutoFilter(CellRangeAddress.valueOf("A1:C1"));

            // 결과 파일로 저장
            try (OutputStream outputStream = new FileOutputStream("filtered_example.xlsx")) {
                workbook.write(outputStream);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서 example.xlsx는 필터를 설정할 대상이 되는 Excel 파일의 경로입니다. filtered_example.xlsx는 필터가 적용된 결과 파일의 경로입니다.

setAutoFilter 메서드를 사용하여 필터를 설정합니다. 이 메서드에는 CellRangeAddress 객체를 인자로 전달해야 합니다. CellRangeAddress 객체는 필터를 적용할 범위를 나타내는데, 위 코드에서는 A1부터 C1까지의 범위에 필터가 적용되도록 설정했습니다.

실행 결과 확인하기

필터를 설정한 후에는 필터가 적용된 결과 파일을 확인할 수 있습니다. filtered_example.xlsx 파일을 열어보면, 첫 번째 행에 있는 필터 아이콘이 표시되고, 해당 열을 클릭하면 조건에 따라 데이터가 필터링되는 것을 볼 수 있습니다.

마무리

이번 포스트에서는 Java Apache POI를 사용하여 Excel 파일의 필터를 설정하는 방법을 알아보았습니다. 필터를 설정하면 Excel 파일에서 특정 조건에 맞는 데이터만 쉽게 분석할 수 있습니다. Apache POI를 사용하면 Java에서 간단하게 Excel 파일을 조작할 수 있으므로, 데이터 처리에 유용하게 활용할 수 있습니다.

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