Java从Excel读取数据

时间:2015-10-18 16:34:32

标签: java apache-poi

我想从Excel读取数据 - 只有数字,所以我可以稍后比较,我进入循环,我有这样的代码:

int type = cell.getCellType();
    switch(type){
    case 0:
        int value = (int)cell.getNumericCellValue();
    case 1:
        String temp = cell.getStringCellValue();
        int value = Integer.parseInt(temp);

    }

它是这样的,因为有时Excel中的数据有数字类型,有时是字符串类型。

现在我的问题。向int施展是个好主意吗? 如果我在类型为1.200的单元格中有号码String,那么它就是" 1.200"如何将其转换为int(或float,如果它更好)?最好的方法是什么?

我需要的只是 - 数字(有时来自String单元格类型)所以我可以将它与来自另一个数据源的数字进行比较。

1 个答案:

答案 0 :(得分:3)

CellType.Numeric指的是内容包含整数分数日期的单元格。

因此,如果您正在阅读可能具有多个特定数字类型的单元格,那么您将需要进一步开展工作以缩小分类范围。

getNumericCellValue()返回double(假设该单元格类型为CellType.Numeric

将此double投射到int将导致小数和删除后的所有数字。因此1.200将成为1。因此,在您的情况下,将其作为float投射更好。如果你想确保没有精确度的损失,那么根本不要施展;只需将其另存为double