https://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/Cell.html#getCellType--
List<String[]> listXlsx = new ArrayList<String[]>();
try{
System.out.println("File READ");
XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream());
logger.debug("Get Reader!");
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
int size = 0;
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
int cellLength = (int) row.getLastCellNum(); // 열의 총 개수
Iterator<Cell> cellIterator = row.cellIterator();
if (size == 0) {
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
size++;
}
} else {
System.out.println(size);
String[] xlist = new String[size];
for(int i=0; i<cellLength; i++) {
Cell cell = row.getCell(i);
if(cell == null) {
xlist[i] = "";
}else {
xlist[i] = cell.getStringCellValue(); // 이 부분!!!!
}
}
listXlsx.add(xlist);
}
}
} catch (IOException ioe) {
logger.error("File IO Error", ioe);
}
아래처럼 변경했다
List<String[]> listXlsx = new ArrayList<String[]>();
try{
System.out.println("File READ");
XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream());
logger.debug("Get Reader!");
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
int size = 0;
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
int cellLength = (int) row.getLastCellNum(); // 열의 총 개수
Iterator<Cell> cellIterator = row.cellIterator();
if (size == 0) {
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
size++;
}
} else {
System.out.println(size);
String[] xlist = new String[size];
for(int i=0; i<cellLength; i++) {
Cell cell = row.getCell(i);
if(cell == null) {
xlist[i] = "";
}else { // 이렇게 변경!!!!
/*
* Cell.CELL_TYPE_NUMERIC 0
* Cell.CELL_TYPE_STRING 1
* Cell.CELL_TYPE_FORMULA 2
* Cell.CELL_TYPE_BLANK 3
* Cell.CELL_TYPE_BOOLEAN 4
* Cell.CELL_TYPE_ERROR 5
*/
switch(cell.getCellType()) {
case 0:
xlist[i] = StringUtil.get( (int)cell.getNumericCellValue() );
break;
case 1:
xlist[i] = StringUtil.get( cell.getStringCellValue() );
break;
case 2:
xlist[i] = StringUtil.get( cell.getCellFormula() );
break;
case 3:
//
break;
case 4:
xlist[i] = StringUtil.get( cell.getBooleanCellValue() );
break;
case 5:
throw new IOException();
default:
xlist[i] = "";
break;
}
}
}
listXlsx.add(xlist);
}
}
} catch (IOException ioe) {
logger.error("File IO Error", ioe);
}