2017-04-07 2 views
-2

안녕하세요, 모두 내가 엑셀 ​​시트 데이터를 MySQL 데이터베이스에 저장하려고합니다. 이것을 위해 Apache Poi를 사용하고 있습니다. Apache Poi의 DataFormatter를 사용하여 셀 값을 가져옵니다. 셀 값을 문자열 형식으로 성공적으로 가져 오는 중 문자열 값을 Long으로 변경하려고하는데 NumberFormatException이 발생합니다. 나는 아래 코드를 시도하고있다. 내 문제를 해결하려고 노력하십시오.java.lang.NumberFormatException : 입력 문자열 : ""

감사합니다.

FileInputStream inputStream = new FileInputStream(filename); 
    XSSFWorkbook workbook = new XSSFWorkbook(inputStream); 
    XSSFSheet firstSheet = workbook.getSheetAt(0); 
    DataFormatter formatter = new DataFormatter(); 
    for(int z=0;z<firstSheet.getLastRowNum();z++) 
    { 
    Cell upccell=firstSheet.getRow(z).getCell(0); 
    String upcstring =formatter.formatCellValue(upccell); 
    long upc=Long.valueOf(upcstring); 
    . 
    . 
    . 
    } 

콘솔의 오류 스택 추적입니다.

java.lang.NumberFormatException: For input string: "upc" 
at java.lang.NumberFormatException.forInputString(Unknown Source) 
at java.lang.Long.parseLong(Unknown Source) 
at java.lang.Long.<init>(Unknown Source) 
+5

'upc'은 (는) 변환 할 숫자가 아닙니다. – Satya

+0

어느 숫자가 나올 것으로 예상하십니까? –

+2

귀하의 데이터를 볼 수 없습니다. 어떻게 우리가 도울 것으로 기대합니까? –

답변

1

나는이 코드로 반환되는 모든 셀 값이 숫자 값이 아니라고 생각합니다.

셀 upccell = firstSheet.getRow (z) .getCell (0);

그래서 읽고있는 셀에 숫자 값이 포함되어 있는지 확인해야합니다.

관련 문제