如何从Excel中使用java获取单元格,无论单元格是否包含string或数字值?
这是我的代码:
long tin=0; tin = (long)row.getCell(10).getNumericCellValue();
Excel的锡值可能包含string或只有数字值..如果锡值是数字我能够获取数据..如果锡值是string是错误的。
您可以使用Cell#getCellTypeEnum()检查单元格的types。 可能的返回值是:
- _NONE – 未知types,用于表示初始化之前的状态或缺less具体types。
- 空白 – 空白单元格types
- BOOLEAN – 布尔单元格types
- 错误 – 单元格types错误
- 公式 – 公式单元格types
- NUMERIC – 数字单元格types(整数,分数,date)
- STRING – string(文本)单元格types
换句话说,你应该尝试下面的脚手架:
tin = row.getCell(10).getCellTypeEnum().equals(CellType.NUMERIC) ? (long)row.getCell(10).getNumericCellValue() : Long.parseLong(row.getCell(10).getStringCellValue());