2012-07-26 3 views
0

apache poi를 통해 Excel 파일을 읽으려고합니다. 한 칼럼에서 데이터 "9780547692289"를 얻고 있습니다. 출력에서 모든 열을 반복 한 후 숫자는 "9.780547692289E12"와 같이 표시됩니다. 나는 숫자가 문자열에 자동으로 바뀌 었음을 의미한다 (왜냐하면 has'E '). 나는 숫자 그대로 (이것을 그대로) 유지해야한다. 어떻게해야합니까 ..?숫자가 자동으로 문자열로 변경되었습니다.

+0

셀에 CellFormat을 설정하고 있습니까? 그렇다면 적절한 Format 문자열을 갖도록 CellFormat을 설정하고 있습니까? 그리고 그렇지 않다면 왜 안됩니까? ;-) – Gagravarr

답변

0

아마도 디스플레이 설정 일뿐입니다. "E"는 숫자를 표시하기위한 과학 표기법입니다.

0

// 엑셀에서 값을 얻는 것은 유 이것은 나를 위해 일한이 방법

private String getCellValue(Cell cell) { 
    if (cell == null) { 
     return null; 
    } 
    if (cell.getCellType() == Cell.CELL_TYPE_STRING) { 
     return cell.getStringCellValue(); 
    } else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) { 
     return cell.getNumericCellValue() + ""; 
    } else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) { 
     return cell.getBooleanCellValue() + ""; 
    }else if(cell.getCellType() == Cell.CELL_TYPE_BLANK){ 
     return cell.getStringCellValue(); 
    }else if(cell.getCellType() == Cell.CELL_TYPE_ERROR){ 
     return cell.getErrorCellValue() + ""; 
    } 
    else { 
     return null; 
    } 
} 
0

를 사용할 수 있지만

경우 (cell.getCellType() == Cell.CELL_TYPE_NUMERIC || cell.getCellType() == Cell.CELL_TYPE_FORMULA)

{

INT 난 = (int)를 cell.getNumericCellValue();

문자열 cellText = String.valueOf (i);

}

관련 문제