java 将 HSSFCell 转换为数字

标签 java type-conversion hssf

有人可以帮忙吗? 通过使用该代码,我还能够从 Excel 字段获取值。特定列的值 = 5。

public Integer  Check4(int b) throws IOException  {
    InputStream myxls = new FileInputStream("book.xls");
    HSSFWorkbook wb     = new HSSFWorkbook(myxls);
    HSSFSheet sheet = wb.getSheetAt(0);       // first sheet
    HSSFRow row     = sheet.getRow(0);        // first row
    //HSSFCell cell0   = row.getCell((short)a);  // first arg
    HSSFCell cell1   = row.getCell((short)b);  // second arg
    cell1.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
    System.out.println("smth "+  cell1);
    return ;

}

但是, 此类代码的输出是:

"smth + 5.0"

我明白了,如何将 var cell1 5.0 转换为 5 ? Math.round、Integer.parseInt() 实际上没有帮助

最佳答案

在使用Integer.parseInt()之前,您必须从HSSFCell获取字符串值。 使用Integer.parseInt(cell1.getStringCellValue())。您可能可以使用getNumericCellValue(),但这将返回一个double

关于java 将 HSSFCell 转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23609621/

相关文章:

java - 使用 hssfworkbook 打开 Excel 工作表

java.lang.IndexOutOfBoundsException : Source does not fit in dest

java - 线程完成后是否释放锁?

java - 对象存在于 HTML 中,但我无法选择它

c++ - 如何更高效地遍历存储 {int, short, ushort,...} 的字符数组?

java - 无法将形状从数组添加到 GridPane

c++ - 默认情况下,C++ 是否将二进制数读取为二进制补码?

mysql - 你如何将一个整数转换成它的 CONDENSED 二进制等价物,例如MySQL 中的二进制 (3)

java - HSSFCell setCellStyle 在所有工作表的单元格而不是选定的单元格上应用样式