Backend/Utils
[POI] EXCEL업로드시 숫자타입 문자타입으로 변경
Mr.6_냥아치
2024. 3. 13. 11:19
반응형
@Override
public List<DataVO> uploadExcelFile(MultipartFile excelFile, Boolean dbInsertFlag, AdminSearchVO paramVO) {
List<DataVO> list = new ArrayList<DataVO>();
Set<String> groupCodes = new HashSet<>();
try {
OPCPackage opcPackage = OPCPackage.open(excelFile.getInputStream());
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);
XSSFSheet sheet = workbook.getSheetAt(0);
for(int i=1; i<sheet.getLastRowNum()+1; i++) {
DataVO data = new DataVO();
XSSFRow row = sheet.getRow(i);
if(null == row) {
break;
}
// 해당 위치 셀값에서 확인
XSSFCell cell = row.getCell(0);
if(cell == null) {
break;
}
switch(cell.getCellType()) {
case STRING:
// STRING일때는 그냥 진행
continue;
case NUMERIC:
// 타입 변경
cell.setCellType(STRING);
}
cell = row.getCell(1);
if(cell == null) {
break;
}
switch(cell.getCellType()) {
case STRING:
continue;
case NUMERIC:
cell.setCellType(STRING);
}
if(null != cell) {
data.setGroupTitle(cell.getStringCellValue());
}
...
}
+ ) cell.getCellType() 비교 값들
NUMERIC, STRING, FORMULA, BOOLEAN으로 바로 써도 되지만 만약 사용이 안된다면 CellType.NUMERIC, CellType.STRING, CellType.FORMULA, CellType.BOOLEAN 사용
반응형