개발/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();
}
}