使用Java从Excel读取数据时如何只提取整数值而不是Double值

我需要一个代码,它应该从 Excel 中获取数据作为 int 值而不是 String 值。


2.0它显示最初保存在工作表中的值2`


尝试 1:


HSSFCell number = sheet.getRow(1).getCell(26);

Integer result =Integer.valueOf(number);                

System.out.println(result);

尝试 2:


int L = Integer.parseInt(getRow(1).getCell(26));


Error:The method parseInt(String) in the type Integer is not applicable for the arguments (Cell)

代码:


System.out.println(+sheet.getRow(1).getCell(26));

输出:2.0


预期输出:2


慕姐8265434
浏览 137回答 3
3回答

尚方宝剑之说

我推荐以下方式,它不会尝试将 an 转换HSSFCell为Integer/ int:// get the cell as object (this is NOT a number, instead, it contains one)HSSFCell numberCell = sheet.getRow(1).getCell(26);// get the cell value as double (there is no direct integer version)double cellValue = numberCell.getNumericCellValue();// cast the value to an intint number = (int) cellValue;

牧羊人nacy

从 Excel 中读取Double值而不是将值显示为2.0后,要将其打印为2 ,您可以使用DecimalFormat 类方法,并且可以使用以下解决方案:HSSFCell number = sheet.getRow(1).getCell(26);Double result =Double.valueOf(number);                DecimalFormat format = new DecimalFormat();format.setDecimalSeparatorAlwaysShown(false);System.out.println(format.format(result));如果您的用例是打印您可以添加的字符串String.valueOf()格式,您可以使用以下解决方案:HSSFCell number = sheet.getRow(1).getCell(26);Double result =Double.valueOf(number);                DecimalFormat format = new DecimalFormat();format.setDecimalSeparatorAlwaysShown(false);System.out.println(String.valueOf(format.format(result)));

慕的地10843

你可以试试int L = Integer.parseInt(getRow(1).getCell(26).getStringCellValue());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java