[java] Java Apache POI를 사용하여 Excel 파일의 보호 기능 설정하기

Apache POI는 Java에서 Microsoft Office 파일을 생성, 읽기 및 편집하기 위한 인기있는 라이브러리입니다. 이번 블로그 포스트에서는 Apache POI를 사용하여 Excel 파일의 보호 기능을 설정하는 방법에 대해 알아보겠습니다.

Apache POI 라이브러리 추가하기

Apache POI를 사용하기 위해서는 먼저 라이브러리를 추가해야 합니다. 아래의 Maven 의존성을 pom.xml 파일에 추가하여 Apache POI를 프로젝트에 포함시킬 수 있습니다.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>

Excel 파일에 보호 기능 설정하기

Excel 파일을 보호하기 위해서는 Workbook 객체의 protectSheet() 메서드를 사용해야 합니다. 예를 들어, 다음과 같이 Excel 파일을 생성하고 첫 번째 시트를 보호할 수 있습니다.

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

public class ExcelProtectionExample {

    public static void main(String[] args) throws Exception {
        Workbook workbook = new HSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        // 보호할 셀 범위 지정
        CellRangeAddress lockedRange = CellRangeAddress.valueOf("A1:B5");

        // 시트 보호 설정
        sheet.protectSheet("password");
        sheet.lockSelectLockedCells(true);
        sheet.setRangeLocked(lockedRange, true);

        // Excel 파일 저장
        FileOutputStream fos = new FileOutputStream("protected.xlsx");
        workbook.write(fos);
        fos.close();

        System.out.println("Excel 파일이 성공적으로 보호되었습니다.");
    }
}

위의 코드에서 protectSheet() 메서드의 첫 번째 매개변수는 보호되는 시트의 암호를 설정하는 데 사용됩니다. 두 번째 매개변수는 true로 설정하여 시트가 보호됨을 나타냅니다. 또한 lockSelectLockedCells() 메서드와 setRangeLocked() 메서드를 사용하여 특정 셀 범위의 보호 여부를 설정할 수 있습니다.

실행 결과

위의 예제 코드를 실행하면 “protected.xlsx”라는 이름의 Excel 파일이 생성됩니다. 이 파일은 암호로 보호되며, A1부터 B5까지의 셀 범위는 잠겨있는 상태로 설정됩니다.

결론

이번 포스트에서는 Apache POI를 사용하여 Java에서 Excel 파일의 보호 기능을 설정하는 방법에 대해 알아보았습니다. Apache POI는 강력한 기능을 제공하기 때문에 Excel 파일을 조작해야 하는 개발자에게 매우 유용합니다. 추가적인 기능을 사용하고 싶다면 Apache POI 공식 문서를 참조하시기 바랍니다.