[java] Java Apache POI를 사용하여 Excel 파일의 매크로 설정하기

Apache POI는 자바에서 Microsoft Office 파일을 읽고 쓰는 라이브러리입니다. 이 라이브러리를 사용하면 Excel 파일의 다양한 작업을 자바 코드로 처리할 수 있습니다. 이번 포스트에서는 Apache POI를 사용하여 Excel 파일에 매크로를 설정하는 방법에 대해 알아보겠습니다.

1. Apache POI 라이브러리 추가하기

먼저 Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 Apache POI 라이브러리를 프로젝트에 추가해야 합니다. 아래와 같이 Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가하세요.

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가하세요.

implementation 'org.apache.poi:poi:4.1.2'

의존성을 추가한 후에는 프로젝트를 다시 빌드해야 합니다.

2. 매크로 설정하기

이제 Apache POI를 사용하여 Excel 파일에 매크로를 설정해보겠습니다. 먼저 Workbook 객체를 만들고, createSheet() 메서드를 사용하여 새 시트를 생성합니다.

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

public class MacroSettingExample {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("매크로 시트");
        
        // 매크로 설정
        sheet.setMacroEnabled(true);
        
        // 시트 저장
        try {
            FileOutputStream out = new FileOutputStream("매크로_설정_예제.xlsx");
            workbook.write(out);
            out.close();
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서 setMacroEnabled() 메서드를 사용하여 시트에 매크로를 허용합니다. 이렇게 허용된 매크로는 엑셀 파일을 저장하고 실행할 때 활성화됩니다.

3. 코드 실행하기

코드를 실행하면 매크로_설정_예제.xlsx라는 이름의 Excel 파일이 생성됩니다. 이 파일을 열어보면 “매크로 시트”라는 이름의 시트가 생성되었고, 매크로가 허용되었음을 알 수 있습니다.

결론

이번 포스트에서는 Apache POI를 사용하여 Excel 파일에 매크로를 설정하는 방법을 알아보았습니다. Apache POI를 사용하면 자바 코드로 Excel 파일을 다양하게 조작할 수 있으므로, 필요에 따라 매크로를 설정하는 작업을 수행할 수 있습니다. 추가적인 기능에 대해서는 Apache POI의 문서를 참고하시기 바랍니다.

참고 자료