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

Apache POI는 Java로 Excel 파일을 다루기 위해 사용되는 라이브러리입니다. 이 라이브러리를 사용하여 Excel 파일에 암호를 설정하는 방법을 알아보겠습니다.

Apache POI 라이브러리 추가하기

먼저, Java 프로젝트에 Apache POI 라이브러리를 추가해야 합니다. Maven 프로젝트인 경우, pom.xml 파일에 다음 의존성을 추가하십시오:

<dependencies>
    <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>
</dependencies>

Gradle 프로젝트인 경우, build.gradle 파일에 다음 의존성을 추가하십시오:

dependencies {
    implementation 'org.apache.poi:poi:4.1.2'
    implementation 'org.apache.poi:poi-ooxml:4.1.2'
}

Excel 파일에 암호 설정하기

암호를 설정하려는 Excel 파일을 불러와서 암호를 설정할 수 있습니다. 다음은 암호를 설정하는 예제 코드입니다:

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

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;

public class ExcelEncryptor {

    public static void main(String[] args) {
        try {
            // 암호를 설정할 Excel 파일 경로
            String excelFilePath = "path/to/excel/file.xlsx";

            // Excel 파일 로드
            InputStream inputStream = new FileInputStream(excelFilePath);
            Workbook workbook = WorkbookFactory.create(inputStream);

            // 암호 설정
            String password = "myPassword";
            workbook.lockStructure();
            workbook.lockWindows();
            workbook.getEncryptionInfo().setPassword(password.getBytes());

            // 암호가 설정된 Excel 파일 저장
            FileOutputStream outputStream = new FileOutputStream(excelFilePath);
            workbook.write(outputStream);
            workbook.close();
            
            System.out.println("Excel 파일에 암호가 설정되었습니다.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 암호를 설정하려는 Excel 파일의 경로를 excelFilePath 변수에 지정하고, 원하는 암호를 password 변수에 설정하면 됩니다. 코드를 실행하면 지정한 암호가 설정된 Excel 파일이 생성됩니다.

결론

Apache POI를 사용하여 Java에서 Excel 파일에 암호를 설정하는 방법을 살펴보았습니다. 이를 통해 안전하게 Excel 파일을 보호할 수 있습니다. 추가적인 기능이나 자세한 사용법은 Apache POI의 공식 문서를 참조하시기 바랍니다.

참고 자료