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

Apache POI는 Java를 사용하여 Microsoft Office 파일을 조작하는 데 사용되는 인기있는 라이브러리입니다. 이 라이브러리를 사용하면 Java 코드를 통해 Excel 파일의 시트를 보호하거나 해제할 수 있습니다. 이번 블로그 포스트에서는 Apache POI를 사용하여 Excel 파일의 시트 보호를 설정하는 방법에 대해 알아보겠습니다.

1. Apache POI 라이브러리 추가

먼저, Apache POI를 사용하기 위해 해당 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 pom.xml에 다음 종속성을 추가하세요:

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

Gradle을 사용하는 경우 build.gradle에 다음 종속성을 추가하세요:

implementation 'org.apache.poi:poi:5.0.0'

2. Excel 파일의 시트 보호 설정하기

다음은 Apache POI를 사용하여 Excel 파일의 시트 보호를 설정하는 예제 코드입니다. 이 코드는 Excel 파일을 읽고 특정 시트를 보호하고자 할 때 사용할 수 있습니다.

import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class SheetProtectionExample {

    public static void main(String[] args) {
        try {
            // Excel 파일 읽기
            FileInputStream file = new FileInputStream("path/to/excel.xlsx");
            XSSFWorkbook workbook = new XSSFWorkbook(file);
            XSSFSheet sheet = workbook.getSheetAt(0);
            
            // 시트 보호 설정
            sheet.protectSheet("password");
            
            // Excel 파일 저장
            FileOutputStream outFile = new FileOutputStream("path/to/protected_excel.xlsx");
            workbook.write(outFile);
            outFile.close();
            
            System.out.println("시트 보호 설정이 완료되었습니다.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 “path/to/excel.xlsx”를 수정하여 실제 Excel 파일의 경로로 변경하세요. 또한 “password”를 수정하여 시트 보호를 위한 암호로 변경할 수 있습니다.

3. 코드 실행하기

위 코드를 실행하면 Apache POI가 Excel 파일을 읽고, 지정한 시트를 보호하고, 보호된 새로운 Excel 파일을 생성합니다. 생성된 파일은 “path/to/protected_excel.xlsx” 경로에 저장됩니다.

시트 보호가 설정되면 사용자는 해당 시트의 내용을 수정하거나 삭제할 수 없습니다. 시트 보호를 해제하려면 sheet.unprotectSheet("password") 메서드를 사용하면 됩니다.

결론

Apache POI를 사용하면 Java로 Excel 파일의 시트 보호를 설정할 수 있습니다. 이를 통해 파일의 보안을 강화하고 사용자가 필요한 내용을 수정하기 어렵게 만들 수 있습니다. 이 글을 통해 Apache POI를 사용하여 시트 보호를 설정하는 방법에 대해 익힐 수 있었기를 바랍니다.

참고 자료