POI: 4개의 글
Java에서 엑셀다운로드 로직을 구현한 뒤 실행을 했더니 다음과 같은 에러가 발생했다. java.lang.IllegalArgumentException: Invalid char (/) found at index (6) in sheet name '노선별 시작/종료 수집율 목록' 이는 엑셀의 제한 때문에 발생한 오류이다. 실제로 엑셀에서 워크시트에 사용할 수 없는 문자가 있다. 엑셀 제한 문자 \ / * [ ] : ? 시트명에 위의 문자가 포함되었다면 치환해줘야한다. 시트명 치환 나는 대괄호는 소괄호로 치환해주고, 나머지 특수문자는 공백으로 치환해주는 것으로 수정하였다. String sheetName = "시트명/뭐가올지 몰라요"; sheetName = sheetName.replaceAll("\\[", "\\..
[Java] POI Excel CellStyle 버전 업 후 Deprecated 된 속성 알아보기 POI 버전을 변경하면서 HSSFCellStyle 클래스에서 제공하던 것들이 Deprecated 된 것이 많았다. 관련해서 버전에 따라 어떻게 수정하면 되는 지 살펴보자. Deprecated 란, 곧 삭제될 메서드임을 알리는 어노테이션을 의미한다. 기존에 사용하던 버전 - 의존성 추가 ① Maven 인 경우 org.apache.poi poi 3.13-beta1 ② Gradle 인 경우 compile group: 'org.apache.poi', name: 'poi', version: '3.13-beta1' - Java Cell Style HSSFWorkbook wb = new HSSFWorkbook(); Ce..
[Java] POI 라이브러리 사용 : 엑셀 다운로드 로직 구현하기 - 의존성 추가 Spring Boot 경우 build.gradle에 Gradle dependency 추가 compile group: 'org.apache.poi', name: 'poi', version: '3.13' Spring 경우 pom.xml Maven dependency 추가 org.apache.poi poi 3.13-beta1 - Haenny 엑셀 다운로드 다음과 같은 두 개의 클래스로 엑셀 다운로드 로직을 구현하였다. 참고로 엑셀에 입력될 데이터는 EgovMap이 아닌 VO List 형태를 전제로 구현하였다. DownloadExcel.java import java.io.IOException; import java.net.URL..
지금까지 프로젝트을 진행하면서 엑셀다운로드 기능은 꼭 한번씩은 나온거 같다. 어느 언어로 개발을 하든 엑셀다운로드 라이브러리가 대부분 제공이 된다. 지금은 POI 를 통해 엑셀다운로드 기능을 알라여보려고한다. http://poi.apache.org/components/spreadsheet/ HSSF : EXCEL 2007 이전 버전(.xls) - 65535 라인까지 사용가능 XSSF : EXCEL 2007 이후 버전(2007포함 .xlsx - - 65535 라인 이상 사용가능 SXSSF : XSSF의 Streaming Version으로 메모리를 적게 사용 - 65535 라인 이상 사용가능 public void excelDownLoad() { FileOutputStream fos = null; // 워크북..