728x90
반응형
액셀을 다루는 프로세스를 개발 했는데
특정 CELL 에 String 만 있을 것이라고 고려하고 개발을 했다.
하지만 Int 형을 넣는 상황 발생을 했고
그로 인해 cell 값을 읽기 전에 cell 에 있는 값에 대한 type 을 고려하는 로직이 추가로 필요했다.
Cell cell;
Cell 에는 getCellType 이라는 메소드를 이용해 cell 의 값을 가지고 올 수 있다.
getCellType 이 반환해주는 데이터의 타입은 CellType 이라는 enum 인데
package org.apache.poi.ss.usermodel;
public enum CellType
NUMERIC, STRING, FORMULA, BOOLEAN 이라는 다양한 type 을 가지고 있다.
그래서 NUMERIC / STRING 만 고려하고 나머지는 화이트 스페이스 값으로 대체했다.
String value = "";
if( cell != null ) {
if( cell.getCellType() == CellType.STRING ) {
value = cell.getStringCellValue();
}
if( cell.getCellType() == CellType.NUMERIC ) {
value = Integer.toString((int)cell.getNumericCellValue());
}
}
맞는 방법인지는 모르겠지만 더 나은 방법 생각나면 바꿔야지.
🖤 글이 도움이 되었다면 유튜브 클릭 해주세요 🖤
https://www.youtube.com/channel/UCgkxlLdjrlsFyp2GGxzY59A
728x90
반응형
'개발중 > Java' 카테고리의 다른 글
LocalDate 비교 (오늘이 1일이라면, 오늘이 말일이라면) 😊 (0) | 2022.03.01 |
---|---|
🔍🔊 [JAVA] String을 Boolean으로 변환하기 🔊🔍 (0) | 2022.02.25 |
java 에서 현재 URL 가져오기 (0) | 2022.01.12 |
JAVA 코드 저장시 컴파일 (compile) 처리 ❗❗❗ (2) | 2021.12.30 |
서로 다른 서버에 파일 업로드 (1) | 2021.12.14 |