Developer's Development

[JAVA] Apache POI Excel Download '제한된 보기' 경고 미설정 본문

개발/JAVA

[JAVA] Apache POI Excel Download '제한된 보기' 경고 미설정

mylee99 2023. 10. 30. 10:01

Java Apache POI 엑셀파일 생성 및 다운로드 시, 파일을 열면 '제한된 보기' 경고가 뜨는 이슈.

물론 엑셀에서 보안 설정을 변경하면 되긴 하지만, 모든 사용자의 환경이 그렇진 않기에 굉장히 거슬리는 부분이었다.

이게 또 로컬에서 테스트할 땐 괜찮은데 배포하고 나면 그러더라..

 

해결한 방안은, POI로 엑셀파일을 생성할 때 파일의 보안 설정을 (비활성화하도록) 명시적으로 설정하기.

Workbook workbook = new XSSFWorkbook(XSSFWorkbookType.XLSX);

 

XSSFWorkbookType.XLSX ← 이 부분이 중요하다.

아래는 해당 코드를 적용한 엑셀파일 생성 전체 예제 코드

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbookType;

public class ExcelExportExample {
    public static void main(String[] args) throws Exception {
        // Create a new XSSFWorkbook with no encryption
        Workbook workbook = new XSSFWorkbook(XSSFWorkbookType.XLSX);

        // Create a sheet, add data, and save the workbook as usual
        // ...

        // Save the workbook to a file
        FileOutputStream fileOut = new FileOutputStream("example.xlsx");
        workbook.write(fileOut);
        fileOut.close();

        // Close the workbook
        workbook.close();
    }
}

 

Comments