java - 如何使用java从Excel中获取单元格,该单元格是否包含字符串或数值?

标签 java excel

这是我的代码:

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/

相关文章:

java - 从 Java/C++ 到 XML

arrays - Excel:sumproducts 的总和

vba - 激活工作表 1,否则激活另一个工作表

excel - UDF中两个数组之间的最大差异

vba - 计算行数时出现“对象不支持属性或方法”错误

vba - 使用 IsEmpty 停止循环

java - ORA-12899: 列的值太大,即使异常中的值较小

java - 没有类型参数的通用方法

具有相同类实例的Java SwingWorker?

java - 作业顺序程序示例