java.lang.NumberFormatException:对于输入字符串:“”

时间:2017-04-07 07:24:24

标签: java apache-poi

Hello ,我试图将excel表数据保存到MySQL数据库中。 为此,我正在使用Apache Poi。我在Apache Poi中使用DataFormatter获取单元格值。我正在以字符串格式成功获取单元格值,但我正在尝试将字符串值更改为Long我正在获取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)

1 个答案:

答案 0 :(得分:1)

我认为此代码返回的所有单元格值都不是数值。

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

因此,您必须确保无论您正在阅读的单元格是否应包含数值。