Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- springboot
- java.lang.nosuchmethoderror
- Swagger
- websecurityconfiguration
- bytebuddyinterceptor
- jsonignore
Archives
- Today
- Total
NOT FOUND
문자를 날짜로 인식하는 오류 Cannot get a STRING value from a NUMERIC cell 1/1 엑셀 가져오기 토지 지분 엑셀 건물지분 엑셀 본문
카테고리 없음
문자를 날짜로 인식하는 오류 Cannot get a STRING value from a NUMERIC cell 1/1 엑셀 가져오기 토지 지분 엑셀 건물지분 엑셀
신토불이 2025. 2. 17. 16:04엑셀에 1/1값을 입력하고 가져와야 하는 상황이 생겼다
그런데 엑셀에서 1/1을 입력하면 자동으로 date라고 인식되고, 가져올때도 number로 가져와진다.
예를 들어나는 1/1을 입력한 게 45658.0로 가져와졌다.
ㅜㅜ....
두가지 방법이 있다
애초에 엑셀을 넣을 때 엑셀에서 1/1을 '텍스트'로 설정해서 넣는 방법
하나는 엑셀이 날짜로 인식했을 경우 내 쪽에서 1/1로 변환해서 넣는 방법...
그런데 사실 1/1말고도 1/2 1/3 1/4등 다양한 숫자가 입력될 수 있어서 참 애매했다
그렇다고 1번 방법만 믿고 가기에도 불안했다
1. 우선 기획자분한테 텍스트가 입력되어야 한다는 사실 알리기
2. 숫자로 들어왔을 경우 (날짜로 된 부분 잘라서 오기)
이렇게 해결하려고 한당
하 엑셀아...
// 1/1 입력 시 엑셀에서 날짜로 인식되는 문제 있음
private String getLandStake(Cell cell) {
if (cell.getCellType() == CellType.STRING) {
// 셀이 문자열으로 잘 가져왔을 경우
return cell.getStringCellValue();
} else if (cell.getCellType() == CellType.NUMERIC) {
Date dateValue = cell.getDateCellValue();
SimpleDateFormat dateFormat = new SimpleDateFormat("M/d"); // "1/1" 형식으로 변환
return dateFormat.format(dateValue);
} else {
// 숫자로 저장된 값을 문자로 읽어오기
double numericValue = cell.getNumericCellValue();
Date dateValue = DateUtil.getJavaDate(numericValue); // 숫자 값을 날짜로 변환
SimpleDateFormat dateFormat = new SimpleDateFormat("M/d");
// 날짜 형식으로 변환
return dateFormat.format(dateValue);
}
}
이렇게 해서 해결했다