使用Java和Apache POI从excel读取整数数据时避免小数点

时间:2016-02-23 05:04:29

标签: java selenium-webdriver apache-poi

我正在尝试用Java开发一个数据驱动的Selenium自动化框架。我编写了代码来从excel表读取输入测试数据。 excel表包含两列 - 用户名和密码。我使用以下代码读取了excel数据。

String testData;
for(int j=1;j<currentRow.getPhysicalNumberOfCells();j++){
    if(currentRow.getCell(j)!==null)
        {
         if(currentRow.getCell(j).getCellType()==Cell.CELL_TYPE_BOOLEAN){
          testData=Boolean.toString(currentRow.getCell(j).getBooleanCellValue());
            }
            if(currentRow.getCell(j).getCellType()==Cell.CELL_TYPE_NUMERIC){
                testData=Double.toString(currentRow.getCell(j).getNumericCellValue());                      
            }
            if(currentRow.getCell(j).getCellType()==Cell.CELL_TYPE_STRING){
                testData=currentRow.getCell(j).getStringValue();
            }
        }

    }

问题是如果密码是123,上面的代码将返回值123.0,因此测试用例失败。我无法删除小数点,因为如果实际密码是123.0,它将返回结果123.如何读取单元格中给出的Excel数据?

2 个答案:

答案 0 :(得分:2)

在开始阅读之前添加cell.setCellType(Cell.CELL_TYPE_STRING);

编辑POI API Documentation说,

  

如果您要做的是获取数值单元格的String值,   停!。这不是这样做的方法。相反,用于获取字符串   数字或布尔或日期单元格的值,请改用DataFormatter。

参考This answer for a better solution!

答案 1 :(得分:0)

以字符串格式读取所有内容然后进行比较