【发布时间】:2017-09-02 11:33:56
【问题描述】:
您好,我正在尝试将 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)
【问题讨论】:
-
upc不是要转换的数字 -
你希望得到哪个数字?
-
我们看不到您的数据。您希望我们如何提供帮助?
-
假设您的第一行是标题,您可能必须开始 int z = 1,而不是 0。
标签: java apache-poi