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)
答案 0 :(得分:1)
我认为此代码返回的所有单元格值都不是数值。
Cell upccell = firstSheet.getRow(z).getCell(0);
因此,您必须确保无论您正在阅读的单元格是否应包含数值。