java
[Java] POI 오류, "허용되는 글꼴 수가 초과되어 이 파일에 글꼴 서식이 제대로 적용되지 않을 수 있습니다."
우주유령
2022. 6. 16. 16:45
728x90
반응형
POI로 엑셀을 만들어 다운로드하여 열어봤더니
"허용되는 글꼴 수가 초과되어 이 파일에 글꼴 서식이 제대로 적용되지 않을 수 있습니다."
라는 오류가 떴다.
엑셀에서는 적용되는 글꼴의 개수를 최대 512개로 제한하고 있다.
리디렉션 중
login.microsoftonline.com
글꼴을 512개 이상 사용했다면 이 오류가 날 수 있다.
Excel 2007이상에서는 경고창을 닫고 작업을 계속 할 수 있지만, Excel 2003과 Excel 2002에서는 수정 및 저장이 안된다.
글꼴을 1개만 사용했는데도 이 오류가 나는 경우 CellStyle을 적용할 때 매번 font객체를 생성하지 않았는지 보자.
private CellStyle getCellStyle(String div) {
CellStyle style = null;
HSSFFont font = this.wb.createFont();
font.setBold(true);
return style;
}
이렇게 매번 font를 생성할 경우 Cell개수만큼 글꼴이 있는 것으로 여겨진다.
font를 매번 생성하지 않도록 하면 오류가 나지 않는다.
//field에 선언
private HSSFWorkbook workbook;
private HSSFFont font;
private CellStyle getCellStyle(String div) {
if(this.font == null){
this.font = this.workbook.createFont();
}
// ...
}
728x90
반응형