这是我的代码:
long tin=0;
tin = (long)row.getCell(10).getNumericCellValue();
Excel 的值可能包含字符串或仅包含数字值。 如果锡值是数字我能够获取数据.. 如果tin值是String,则出现错误。
最佳答案
您可以使用 Cell#getCellTypeEnum() 检查单元格的类型。可能的返回值为:
- _NONE - 未知类型,用于表示初始化之前的状态或缺乏具体类型。
- BLANK - 空白单元格类型
- BOOLEAN - boolean 单元格类型
- 错误 - 单元格类型错误
- FORMULA - 公式单元格类型
- NUMERIC - 数字单元格类型(整数、小数、日期)
- STRING - 字符串(文本)单元格类型
换句话说,您应该尝试以下脚手架:
tin = row.getCell(10).getCellTypeEnum().equals(CellType.NUMERIC) ?
(long)row.getCell(10).getNumericCellValue() :
Long.parseLong(row.getCell(10).getStringCellValue());
关于java - 如何使用java从Excel中获取单元格,该单元格是否包含字符串或数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42551438/